Questa guida aiuta gli utenti a preparare dati genomici, clinici, di mutazione, di espressione e di diagnostica per immagini per un'analisi su larga scala e a eseguire query interattive in un data lake. Include l'automazione dell'infrastruttura come codice, delle pipeline di importazione per la trasformazione di dati e notebook e pannelli di controllo per l'analisi interattiva. Questa guida è stata realizzata in collaborazione con Bioteam.
Diagramma dell'architettura
-
Architettura
-
Integrazione e distribuzione continue
-
Architettura
-
Dettagli
- Importa, formatta e cataloga dati dal programma The Cancer Genome Atlas (TCGA). I dati grezzi sono estratti dal Registro di dati aperti su AWS (RODA) attraverso l'API TCGA. I dati vengono trasformati attraverso un processo di estrazione, trasformazione e caricamento (ETL) AWS Glue e catalogati da un crawler Glue, grazie al quale i dati sono disponibili per le query in Amazon Athena.
- I dati provenienti dal The Cancer Imaging Archive (TCIA) vengono importati, formattati e catalogati. I dati vengono trasformati attraverso un processo ETL AWS Glue e catalogati da un crawler Glue.
- I dati provenienti dal progetto 1000 Genomes e da ClinVar vengono importati, formattati e catalogati, estraendo i dati grezzi dal RODA e riportandoli in Amazon Simple Storage Service (Amazon S3). I set di dati vengono trasformati tramite un processo ETL AWS Glue e catalogati da crawler Glue.
- I ricercatori analizzano i dati multi-modali tramite un'interfaccia visiva in Amazon QuickSight. I dati vengono memorizzati nella cache su un database SPICE (Super-fast, Parallel, In-memory Calculation Engine), ottimizzando le prestazioni delle query.
- I data scientist analizzano i dati tramite i codici utilizzando i notebook Jupyter fornito negli ambienti notebook di Amazon SageMaker.
-
Integrazione e distribuzione continue
-
Dettagli
- Crea un progetto AWS CodeBuild contenente lo script setup.sh. Questo script crea i restanti stack AWS CloudFormation, i repository di codice e il codice.
- Lo stack della zona di destinazione (zona) crea il repository pipe di AWS CodeCommit. Dopo che la configurazione dello stack della zona di destinazione (zona) è completa, lo script setup.sh invia il codice sorgente al repository pipe di CodeCommit.
- Lo stack della pipeline di implementazione (pipe) crea il repository di codice di CodeCommit, un evento Amazon CloudWatch e la pipeline di codice di AWS CodePipeline. Dopo che la configurazione dello stack della pipeline di implementazione (pipe) è completa, lo script setup.sh invia il codice sorgente al repository di codice CodeCommit.
- La pipeline CodePipeline (codice) implementa gli stack CloudFormation della base di codice (genomica e diagnostica per immagini). Dopo che la configurazione delle pipeline di AWS CodePipeline è completa, le risorse implementate nell'account includeranno i bucket Amazon Simple Storage Service (Amazon S3) per l'archiviazione di registri di accesso agli oggetti e la costruzione di artefatti e dati nel data lake, repository CodeCommit per codice sorgente, un progetto AWS CodeBuild per la costruzione di artefatti di codice, una pipeline AWS CodePipeline per l'automazione della costruzione e dell'implementazione di risorse, esempi di processi AWS Glue, crawler e un catalogo dati, nonché un'istanza notebook Jupyter di Amazon SageMaker.
- Lo stack della diagnostica per immagini crea un collegamento ipertestuale a un quick start CloudFormation, che può essere avviato per l'implementazione di stack Amazon QuickSight (quicksight). Lo stack QuickSight crea le risorse AWS Identity and Access Management (IAM) e QuickSight necessarie per l'esplorazione interattiva dei set di dati multi-omici.
Principi di Well-Architected
-
Eccellenza operativa
Questa guida utilizza AWS CodeBuild e AWS CodePipeline per costruire, creare pacchetti e implementare tutto il necessario per trasformare i file in formato VCF con Hail e per lavorare con dati multi-modali e multi-omici dai set di dati del The Cancer Genome Atlas (TCGA) e del The Cancer Imaging Atlas (TCIA). Le modifiche ai codici apportate nel repository AWS CodeCommit saranno implementate attraverso la pipeline di implementazione CodePipeline fornita.
-
Sicurezza
Questa guida utilizza gli accessi basati su ruoli con IAM e la crittografia è abilitata su tutti i bucket, che sono privati e dispongono del blocco agli accessi pubblici. La crittografia è abilitata sul catalogo dati in AWS Glue e tutti i meta dati scritti da AWS Glue in Amazon S3 sono crittografati. Tutti i ruoli sono caratterizzati da privilegio minimo e tutte le comunicazioni tra i servizi rientrano nell'account cliente. Gli amministratori possono controllare l'accesso ai dati di notebook Jupyter, Amazon Athena e Amazon QuickSight tramite i ruoli IAM forniti.
-
Affidabilità
AWS Glue, Amazon S3 eAmazon Athena sono serverless e aumentano le prestazioni dell'accesso ai dati man mano che aumenta il loro volume. AWS Glue esegue il provisioning, configura e aumenta le risorse richieste per l'esecuzione dei processi di integrazione dei dati. Inoltre, Amazon Athena è serverless, il che ti permette di eseguire rapidamente query sui dati senza configurare e gestire server o data warehouse. L'archiviazione in memoria SPICE di Amazon QuickSight estenderà l'esplorazione dei dati a migliaia di utenti.
-
Efficienza delle prestazioni
Grazie a tecnologie serverless, eseguirai il provisioning soltanto delle risorse che utilizzi. Ogni processo AWS Glue eseguirà il provisioning di un cluster Spark su richiesta per trasformare i dati e annullare il provisioning delle risorse al termine del processo. Se decidi di aggiungere nuovi set di dati TCGA, potrai aggiungere anche nuovi processi AWS Glue e crawler AWS Glue che eseguiranno il provisioning delle risorse on demand. Amazon Athena esegue automaticamente query in parallelo; in questo modo, la maggior parte dei risultati viene restituita entro pochi secondi.
-
Ottimizzazione dei costi
Grazie all'utilizzo di tecnologie serverless che aumentano on demand, pagherai soltanto le risorse che utilizzi. Per ottimizzare ulteriormente i costi, puoi interrompere gli ambienti notebook in Amazon SageMaker quando non li utilizzi. La dashboard di Amazon QuickSight viene implementato anche tramite un modello separato di AWS CloudFormation. In questo modo, se non desideri utilizzare la dashboard di visualizzazione, puoi scegliere di non implementarlo per ridurre i costi.
-
Sostenibilità
Tramite un ampio utilizzo dei servizi gestiti e della scalabilità dinamica, potrai ridurre l'impatto ambientale dei servizi di back-end. Per un approccio sostenibile, è importante ottimizzare l'utilizzo delle istanze dei server notebook, come indicato nei principi fondamentali riguardanti le prestazioni e i costi. Interrompi gli ambienti notebook quando non sono in uso.
Ulteriori considerazioni
Questa architettura sceglie AWS Glue per i processi di estrazione, trasformazione e caricamento (ETL) necessari per importare, preparare e catalogare i set di dati nell'ambito delle soluzioni per le query e le prestazioni. Puoi aggiungere nuovi processi AWS Glue e crawler Glue per importare nuovi set di dati di The Cancer Genome Atlas (TCGA) e di The Cancer Image Atlas (TCIA), a seconda delle necessità. Puoi aggiungere anche nuovi processi e crawler per importare, preparare e catalogare i set di dati.
Questa architettura ha scelto i notebook Amazon SageMaker per fornire un ambiente notebook Jupyter per l'analisi. Puoi aggiungere nuovi notebook all'ambiente esistente o crearne dei nuovi. Se preferisci RStudio ai notebook Jupyter, puoi utilizzare RStudio in Amazon SageMaker.
Questa architettura ha scelto Amazon QuickSight per fornire dasboard interattive per la visualizzazione e l'esplorazione dei dati. La configurazione della dashboard di QuickSight avviene tramite un modello separato di AWS CloudFormation. In questo modo, se non desideri utilizzare la dashboard, non dovrai eseguire il provisioning. In QuickSight, puoi eseguire analisi personalizzate, esplorare filtri o visualizzazioni aggiuntivi e condividere set di dati e analisi con i colleghi.
Istruzioni
Questo repository crea un ambiente scalabile in AWS per preparare dati genomici, clinici, di mutazione, di espressione e di diagnostica per immagini per un'analisi su larga scala e per eseguire query interattive in un data lake. Questa soluzione mostra come 1) costruire, creare pacchetti e implementare librerie utilizzate per la conversione di dati genomici, 2) eseguire il provisioning di pipeline serverless di importazione dei dati per la preparazione e la catalogazione di dati-multi-modali, 3) visualizzare ed esplorare dati clinici tramite un'interfaccia interattiva e 4) effettuare query analitiche interattive in un data lake multi-modale.
Collaboratori
BioTeam è un'azienda di consulenza IT operante nel settore delle scienze biologiche che ha l'obiettivo di accelerare le scoperte scientifiche riducendo il divario esistente tra ciò che gli scienziati vogliono fare e ciò che possono fare con i dati. Grazie al suo lavoro nel settore della scienza, dei dati e della tecnologia dal 2002, BioTeam ha acquisito le competenze interdisciplinari necessarie per l'applicazione di strategie, tecnologie avanzate e servizi IT per poter risolvere i più complessi problemi di ricerca, tecnici e operativi. Grazie alle nostre competenze nel convertire le necessità della scienza in potenti ecosistemi per dati scientifici, siamo orgogliosi di collaborare con tantissimi leader nell'ambito della ricerca delle scienze biologiche, dalle startup biotech alle più grandi aziende farmaceutiche, dalle agenzie governative agli istituti di ricerca.
Avvertenza
Il codice di esempio, le librerie software, gli strumenti della linea di comando, le proof of concept, i modelli e le altre tecnologie correlate (comprese tutte le tecnologie di cui sopra fornite dal nostro personale) vengono forniti all'utente sotto forma di contenuto AWS ai sensi dell'Accordo cliente AWS o del relativo accordo scritto stipulato tra l'utente e AWS (a seconda dei casi). Non bisogna utilizzare il contenuto AWS in questione negli account di produzione o sui dati di produzione o altri dati fondamentali. L'utente è responsabile dei test, della sicurezza e dell'ottimizzazione del contenuto AWS, come il codice di esempio, in modo appropriato per l'utilizzo in produzione sulla base delle pratiche e degli standard di qualità specifici. L'implementazione del contenuto AWS può comportare costi AWS per la creazione o l'utilizzo di risorse AWS addebitabili, quali le istanze Amazon EC2 in esecuzione o l'archiviazione Amazon S3.