Ce guide permet aux utilisateurs de préparer des données génomiques, cliniques, de mutation, d'expression et d'imagerie pour réaliser des analyses à grande échelle et exécuter des requêtes interactives sur un lac de données. Il comprend l'automatisation de l'infrastructure en tant que code (IaC), l'intégration et la livraison continues (CI/CD) pour une itération rapide, un pipeline d'ingestion pour stocker et transformer les données, ainsi que des blocs-notes et des tableaux de bord pour une analyse interactive. Nous démontrons également comment les données de variants et d'annotations génomiques sont stockées et interrogées à l'aide des blocs-notes AWS HealthOmics, Amazon Athena et Amazon SageMaker. Ce guide a été élaboré en collaboration avec Bioteam.
Diagramme d'architecture
-
Architecture
-
CI/CD
-
Architecture
-
Étape 1
Ingérez, formatez et cataloguez les données de 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 AWS Glue. Ainsi, les données sont disponibles pour exécuter des requêtes dans Athena.Étape 2
Les données de The Cancer Imaging Archive (TCIA) sont ingérées, formatées et cataloguées. Les données brutes sont extraites de RODA par le biais de l'API TCIA. Les données sont transformées en tâche ETL AWS Glue et cataloguées par un crawler AWS Glue. Les emplacements des images peuvent être interrogés et affichés à l'aide de blocs-notes SageMaker.
Étape 3
Les données VCF du projet « 1 000 Génomes », d'un VCF d'échantillon et de VCF d'annotation ClinVar sont ingérées dans les stockages de variants et d'annotations Amazon Omics et mises à disposition sous forme de tableaux dans Lake Formation.
Étape 4
Les chercheurs analysent les données multimodales à l'aide d'une interface visuelle dans 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.
Étape 5
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 SageMaker.
-
CI/CD
-
Étape 1
Créez 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.Étape 2
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.Étape 3
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.
Étape 4
Le pipeline CodePipeline (code) déploie les piles CloudFormation de base de code (génomique, imagerie et omique). Une fois la configuration des pipelines 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 CodeBuild pour créer les artefacts de code ; un pipeline 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.Un stockage de références, un stockage de variants et un stockage d'annotations Amazon Omics sont alloués, et un fichier VCF d'échantillon, un VCF de sous-ensemble « 1000 génomes » et un VCF d'annotation ClinVar sont ingérés à des fins d'analyse. Grâce à AWS Lake Formation, un administrateur de lac de données peut permettre l'accès aux données dans les stockages de variants et d'annotations Omics à l'aide d'Amazon Athena et SageMaker. Un stockage de références, un stockage de variants et un stockage d'annotations Amazon Omics sont alloués pour stocker les données de variants et d'annotations accessibles au public et les mettre à disposition pour des requêtes et des analyses.
Étape 5
La pile d'imagerie crée un hyperlien vers un Quick Start CloudFormation, qui peut être lancé pour déployer la pile Amazon QuickSight. La pile QuickSight crée les ressources Identity and Access Management (IAM) et QuickSight nécessaires à l'exploration interactive du jeu de données multi-omiques.
Piliers AWS Well-Architected
Le cadre AWS Well-Architected vous permet de comprendre les avantages et les inconvénients des décisions que vous prenez lors de la création de systèmes dans le cloud. Les six piliers du cadre vous permettent d'apprendre les bonnes pratiques architecturales pour concevoir et exploiter des systèmes fiables, sécurisés, efficaces, rentables et durables. Grâce à l'outil AWS Well-Architected Tool, disponible gratuitement dans la console de gestion AWS, vous pouvez examiner vos charges de travail par rapport à ces bonnes pratiques en répondant à une série de questions pour chaque pilier.
Le diagramme d'architecture ci-dessus est un exemple de solution créée en tenant compte des bonnes pratiques Well-Architected. Pour être totalement conforme à Well-Architected, vous devez suivre autant de bonnes pratiques Well-Architected que possible.
-
Excellence opérationnelle
Ce guide utilise CodeBuild et CodePipeline pour créer, mettre en package et déployer tout ce qui est nécessaire dans la solution pour ingérer et stocker les fichiers Variant Call Files (VCF) 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). L'ingestion et l'analyse de données génomiques sans serveur sont démontrées à l'aide d'un service entièrement géré, Amazon Omics. Les modifications du code dans le référentiel CodeCommit de la solution 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 le bloc-notes Jupyter, les données des stockages de variants Amazon Omics et l'accès aux données du catalogue AWS Glue est entièrement géré à l'aide de Lake Formation, et l'accès aux données d'Athena, SageMaker Notebook and QuickSight est géré par les rôles IAM fournis.
-
Fiabilité
AWS Glue, Amazon S3, Amazon Omics, et 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 met en service, configure et met à l'échelle les ressources requises pour exécuter vos tâches d'intégration de données. Athena est sans serveur, ce qui vous permet de rapidement lancer des requêtes de données sans avoir à configurer et gérer de serveurs ou d'entrepôts de données. Le stockage en mémoire 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 et des crawlers AWS Glue qui alloueront également des ressources à la demande. Athena exécute automatiquement les requêtes en parallèle, de sorte que la plupart des résultats sont produits en quelques secondes. Amazon Omics optimise les performances des requêtes de variants à l'échelle en transformant les fichiers en Apache Parquet.
-
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 SageMaker lorsqu’ils ne sont pas utilisés. Le tableau de bord QuickSight est également déployé par le biais d'un modèle 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. Amazon Omics optimise le stockage de données de variants à l'échelle. Les coûts des requêtes sont déterminés par la quantité de données analysées par Athena et peuvent être optimisés en rédigeant des requêtes en conséquence.
-
Durabilité
En utilisant largement les services gérés et la mise à l'échelle dynamique, vous réduisez l'impact environnemental des services backend. Un élément essentiel de la durabilité consiste à maximiser l'utilisation des instances de serveur de blocs-notes. Vous devez arrêter les environnements de bloc-notes lorsque vous ne les utilisez pas.
Autres considérations
Transformation des données
Cette architecture utilise AWS Glue pour l'extraction, la transformation et le chargement (ETL) nécessaires à l'ingestion, à la préparation et au 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 AWS Glue 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.
Analyse des données
Cette architecture utilise des blocs-notes 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.
Visualisation de données
Cette architecture utilise 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 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.
Ressources d'implémentation
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) utiliser le stockage de variants et le stockage d'annotations Healthomics pour stocker les données de variants et d'annotations 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 à l'aide d'Amazon Athena et d'Amazon SageMaker.
Un guide détaillé d'expérimentation et d'utilisation est fourni dans votre compte AWS. Chaque étape de la construction du guide, y compris le déploiement, l'utilisation et le nettoyage, est examinée pour le préparer au déploiement.
L'exemple de code est un point de départ. Il s'agit d'un document validé par l'industrie, prescriptif mais non définitif, et d'un aperçu pour vous aider à commencer.
Contenu connexe
Guide pour l'analyse de données multimodales à l'aide des services d'IA et de ML pour la santé sur AWS
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.
Les références à des services ou organisations tiers dans ce guide n'impliquent pas une approbation, un parrainage ou une affiliation entre Amazon ou AWS et le tiers. Les conseils fournis par AWS constituent un point de départ technique, et vous pouvez personnaliser votre intégration avec des services tiers lorsque vous déployez l'architecture.