Ce guide permet aux utilisateurs de préparer les données génomiques, cliniques, de mutation, d'expression et d'imagerie pour exécuter une analyse à grande échelle, et d'effectuer des requêtes interactives dans un lac de données. Il couvre l'automatisation de l'infrastructure en tant que code, ainsi qu'un pipeline d'ingestion pour transformer les données, et les blocs-notes et des tableaux de bord pour l'analyse interactive. Le guide a été élaboré en collaboration avec Bioteam.
Diagramme d'architecture
-
Architecture
-
CI/CD
-
Architecture
-
Détails
- Ingérez, formatez et cataloguez les données du programme The Cancer Genome Atlas (TCGA). Les données brutes sont extraites du Registre de données ouvertes sur AWS (RODA) par le biais de l'API TCGA. Les données sont transformées en tâche d'extraction, de transformation et de chargement (ETL) AWS Glue et cataloguées par un crawler Glue. Ainsi, les données sont disponibles pour exécuter des requêtes dans Amazon Athena.
- Les données The Cancer Imaging Archive (TCIA) sont ingérées, formatées et cataloguées. Les données sont transformées en tâche ETL AWS Glue et cataloguées par un crawler Glue.
- Les données du projet 1 000 Génomes et ClinVar sont ingérées, formatées et cataloguées, en extrayant les données brutes de RODA dans l'Amazon Simple Storage Service (Amazon S3). Les jeux de données sont transformées en tâches ETL AWS Glue et catalogués par des crawlers Glue.
- Les chercheurs analysent les données multimodales à l'aide d'une interface visuelle dans Amazon QuickSight. Les données sont mises en cache dans une base de données SPICE (Super-fast, Parallel, In-memory Calculation Engine), afin d'optimiser les performances des requêtes.
- Les scientifiques des données analysent les données avec du code en utilisant les blocs-notes Jupyter fournis par les environnements de bloc-notes Amazon SageMaker.
-
CI/CD
-
Détails
- Crée le projet AWS CodeBuild contenant le script setup.sh. Ce script crée les piles AWS CloudFormation restantes, les référentiels de code et le code.
- La pile de zone de destination (zone) crée le référentiel de pipe AWS CodeCommit. Une fois la configuration de la pile de zone de destination (zone) terminée, le script setup.sh transmet le code source au référentiel de pipe CodeCommit.
- La pile de pipeline (pipe) de déploiement crée le référentiel de code CodeCommit, un événement Amazon CloudWatch et le pipeline de code AWS CodePipeline. Une fois la configuration de la pile du pipeline (pipe) de déploiement terminée, le script setup.sh transmet le code source au référentiel de code CodeCommit.
- Le pipeline CodePipeline (code) déploie les piles CloudFormation de codebase (génomique et imagerie). Une fois la configuration des pipelines AWS CodePipeline terminée, les ressources déployées dans votre compte comprennent des compartiments Amazon Simple Storage Service(Amazon S3) pour le stockage de journaux d'accès aux objets, les artefacts de création et les données dans votre lac de données ; les référentiels CodeCommit pour le code source ; un projet AWS CodeBuild pour créer les artefacts de code ; un pipeline AWS CodePipeline pour l'automatisation des créations et du déploiement des ressources ; par exemple, les tâches, les crawlers et un catalogue de données AWS Glue ; et une instance de bloc-notes Jupyter Amazon SageMaker.
- La pile d'imagerie crée un hyperlien vers un Quick Start CloudFormation, qui peut être lancé pour déployer la pile Amazon QuickSight (quicksight). La pile QuickSight crée les ressources AWS Identity and Access Management (IAM) et QuickSight nécessaires à l'exploration interactive du jeu de données multi-omiques.
Piliers AWS Well-Architected
-
Excellence opérationnelle
Ce guide utilise AWS CodeBuild et AWS CodePipeline pour créer, mettre en package et déployer tout ce qui est nécessaire dans la solution pour transformer les fichiers Variant Call Files (VCF) avec Hail et utiliser les données multimodales et multi-omiques provenant des jeux de données dans The Cancer Genome Atlas (TCGA) et The Cancer Imaging Atlas (TCIA). Les modifications du code dans le référentiel AWS CodeCommit de la solution AWS sont déployées par le biais du pipeline de déploiement CodePipeline fourni.
-
Sécurité
Ce guide utilise un accès basé sur les rôles avec IAM, et tous les compartiments sont chiffrés, privés et bloquent l'accès public. Le catalogue de données dans AWS Glue est chiffré, et toutes les métadonnées écrites par AWS Glue dans Amazon S3 sont chiffrées. Tous les rôles sont définis selon le principe du moindre privilège, et toutes les communications entre les services restent dans le compte du client. Les administrateurs peuvent contrôler l'accès aux blocs-notes Jupyter et aux données Amazon Athena et Amazon QuickSight par le biais des rôles IAM fournis.
-
Fiabilité
AWS Glue, Amazon S3 et Amazon Athena sont tous sans serveur et mettront à l'échelle les performances d'accès aux données à mesure que le volume des données augmente. AWS Glue alloue, configure et met à l'échelle les ressources nécessaires à l'exécution de vos tâches d'intégration de données, et Amazon Athena est sans serveur, ce qui vous permet d'interroger rapidement vos données sans avoir à installer et à gérer des serveurs ou des entrepôts des données. Le stockage en mémoire Amazon QuickSight SPICE mettra à l'échelle votre exploration des données pour des milliers d'utilisateurs.
-
Efficacité des performances
En utilisant les technologies sans serveur, vous n'allouez exactement que les ressources que vous utilisez. Chaque tâche AWS Glue allouera un cluster Spark à la demande pour transformer les données, et désallouera les ressources une fois la tâche terminée. Si vous choisissez d'ajouter des jeux de données TCGA, vous pouvez ajouter des tâches AWS Glue j et des crawlers AWS Glue qui alloueront également des ressources à la demande. Amazon Athena exécute automatiquement les requêtes en parallèle, de sorte que la plupart des résultats sont produits en quelques secondes.
-
Optimisation des coûts
En utilisant des technologies sans serveur qui sont mises à l'échelle à la demande, vous ne payez que les ressources que vous utilisez. Pour optimiser davantage les coûts, vous pouvez arrêter les environnements de bloc-notes dans Amazon SageMaker lorsqu'ils ne sont pas utilisés. Le tableau de bord Amazon QuickSight est également déployé par le biais d'un modèle AWS CloudFormation distinct. Ainsi, si vous n'avez pas l'intention d'utiliser le tableau de bord de visualisation, vous pouvez ne pas le déployer pour réduire les coûts.
-
Durabilité
En utilisant largement les services gérés et la mise à l'échelle dynamique, vous réduisez l'impact environnemental des services de backend. Un élément essentiel de la durabilité consiste à maximiser l'utilisation des instances de serveur de blocs-notes, comme l'indiquent la section relative aux piliers Performance et Coût. Arrêtez les environnements de bloc-notes lorsque vous ne les utilisez pas.
Autres considérations
Cette architecture utilise AWS Glue pour l'extraction, la transformation et le chargement (ETL) nécessaires à l'ingestion, à la préparation et aux catalogage des jeux de données dans la solution pour les requêtes et les performances. Vous pouvez ajouter de nouvelles tâches AWS Glue et de nouveaux crawlers Glue Crawlers pour ingérer de nouveaux jeux de données The Cancer Genome Atlas (TCGA) et The Cancer Image Atlas (TCIA), si nécessaire. Vous pouvez également ajouter de nouvelles tâches et de nouveaux crawlers pour ingérer, préparer et cataloguer vos propres jeux de données propriétaires.
Cette architecture utilise des blocs-notes Amazon SageMaker pour fournir un environnement de blocs-notes Jupyter pour l'analyse. Vous pouvez ajouter de nouveaux blocs-notes à l'environnement existant ou créer de nouveaux environnements. Si vous préférez les blocs-notes RStudio au blocs-notes Jupyter, vous pouvez utiliser RStudio on Amazon SageMaker.
Cette architecture utilise Amazon QuickSight pour fournir des tableaux de bord interactifs pour la visualisation et l'exploration des données. La configuration de tableau de bord QuickSight s'effectue par le biais d'un modèle AWS CloudFormation. Ainsi, si vous ne voulez pas utiliser le tableau de bord vous n'avez pas à le mettre en service. Dans QuickSight, vous pouvez créer votre propre analyse, explorer des filtres ou des visualisations supplémentaires, et partager des jeux de données et des analyses avec vos collègues.
Instructions d'utilisation
Ce référentiel crée un environnement évolutif dans AWS pour préparer les données génomiques, cliniques, de mutation, d'expression et d'imagerie pour exécuter des analyses à grande échelle et effectuer des requêtes interactives sur un lac de données. La solution montre comment 1) créer, mettre en package et déployer les bibliothèques utilisées pour la conversion des données génomiques, 2) fournir des pipelines d'ingestion de données sans serveur pour la préparation et le catalogage des données multimodales, 3) visualiser et explorer les données cliniques par le biais d'une interface interactive et 4) exécuter des requêtes analytiques interactives sur un lac de données multimodales.
Contributeurs
BioTeam est une société de conseil en informatique spécialisée dans les sciences de la vie, qui s'engage dans l'accélération des découvertes scientifiques en comblant le fossé entre ce que les scientifiques veulent faire avec les données et ce qu'ils peuvent faire. Intervenant à l'intersection de la science, des données et de la technologie depuis 2002, BioTeam dispose des fonctionnalités interdisciplinaires pour appliquer des stratégies, des technologies avancées et des services IT qui résolvent les problèmes de recherche, techniques et opérationnels les plus complexes. À même de traduire les besoins scientifiques en puissants écosystèmes de données scientifiques, nous sommes fiers de notre capacité à nous associer à un large éventail de leaders de la recherche dans le domaine des sciences de la vie, des start-ups de biotechnologie aux plus grandes entreprises pharmaceutiques mondiales, des agences gouvernementales fédérales aux institutions de recherche universitaires.
Avis de non-responsabilité
Les exemples de code, les bibliothèques de logiciels, les outils de ligne de commande, les preuves de concept, les modèles ou toute autre technologie connexe (y compris tout ce qui précède qui est fourni par notre personnel) vous sont fournis en tant que contenu AWS en vertu du contrat client AWS ou de l'accord écrit pertinent entre vous et AWS (selon le cas). Vous ne devez pas utiliser ce contenu AWS dans vos comptes de production, ni sur des données de production ou autres données critiques. Vous êtes responsable des tests, de la sécurisation et de l'optimisation du contenu AWS, tel que les exemples de code, comme il convient pour une utilisation en production, en fonction de vos pratiques et normes de contrôle de qualité spécifiques. Le déploiement de contenu AWS peut entraîner des frais AWS pour la création ou l'utilisation de ressources payantes AWS, telles que l'exécution d'instances Amazon EC2 ou l'utilisation du stockage Amazon S3.