Mettre en place une analyse
Pour l'instant la création des analyses se fait dans l'admin
Note
A Réorganiser !!!
Chargement des factories
Lancer les 2 workers
1 2 |
|
Dans l'admin, choisir une factory et sélectionner Load factory
En fonction de la factory, cela va peupler la base de données avec des objets.
Si tout s'est bien déroulé, le state
sera SUCCESS
Chargement du VCF
Dans l'admin, sélectionner l'objet Sequencings, ajouter le VCF en PJ et lance
load sequencing
- Récupération ou Création des
Variant
- Récupération ou Création des
Sample
- Création des
SampleRecord
Faire correspondre les Sample
créés (si il y en a) avec des patients
Création de l'analyse
Lors de la création de l'analyse, on va déterminer les différentes annotations et les
différents filtres à appliquer sur le patient et les samples associés. -> Création des
AnalysedSample
(M2M entre Analysis
et Sample
)
1- Load Samples
Pour chaque analyse, on va appeler la fonction load_samples
qui va lancer la tâche
analysis_load_samples_by_region
en async pour chaque Region
-> Cela va créer des AnalysisRecord
(M2M entre Analysis et Variant
) et des
AnalysedSampleRecord
(M2M entre AnalysisRecord
et SampleRecord
) ->
build_metadata
pour les AnalysisRecord
récupérés ou créés
2- Build Steps
Il y a 2 types de steps, les AnnotationStep
et les FilterStep
Pour les AnnotationStep
:
On load()
en async chaque step, on check s'il y a un parent
1 2 3 4 |
|
Cela va déclencer le chargement en chaine (Celery) des fontions suivantes
A- annotation_step_build_node_records
Pour la fonction annotation_step_build_node_records
1 2 3 |
|
Pour tous ces AnalysisRecord
et si le NodeVariantFlag
est prêt on va créer ou
récupérer des NodeVariantFlag
, si on vient de le créer on va appeler la fonction
build_records
qui va appeler en chaine (celery) les fonctions suivantes:
a - node_variant_flag_build_parent_node_records
1 2 3 |
|
Pour tous les NodeVariantFlag
parents créés on va lancer la fonction build_records
b - node_variant_flag_build_primary_node_records
1 2 |
|
c - node_variant_flag_build_secondary_node_records
1 2 |
|
B- annotation_step_load_primary_node_records
1 2 3 4 5 6 7 8 |
|
C- annotation_step_load_secondary_node_records
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
Pour les FilterStep
:
On load()
en async chaque step, on check s'il y a un parent
1 2 3 4 5 6 7 8 9 |
|