vidjil issueshttps://gitlab.inria.fr/vidjil/vidjil/-/issues2018-10-03T15:57:05+02:00https://gitlab.inria.fr/vidjil/vidjil/-/issues/3402Aho : segmentation en DJ au lieu de VDJ2018-10-03T15:57:05+02:00Mikaël SalsonAho : segmentation en DJ au lieu de VDJSur le test simple `should-vdj-tests/igh-vdj.should-vdj.fa` on segmente en DJ au lieu de segmenter en VDJ.
```
>(IGHV1-18*01, IGHV1-18*04) 0//0 IGHD3-16*01 0//0 IGHJ4*01 [IGH]
agcctacatggagctgaggagcctgagatctgacgacacggccgtgtattactgtgcga...Sur le test simple `should-vdj-tests/igh-vdj.should-vdj.fa` on segmente en DJ au lieu de segmenter en VDJ.
```
>(IGHV1-18*01, IGHV1-18*04) 0//0 IGHD3-16*01 0//0 IGHJ4*01 [IGH]
agcctacatggagctgaggagcctgagatctgacgacacggccgtgtattactgtgcgagaga
gtattatgattacgtttgggggagttatgcttatacc
actactttgactactggggccaaggaaccctggtcaccgtctcctcag
```
En IGH :
```
IGH SEG_+ 1.339458e-30 2.318227e-129/1.339458e-30+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H ?+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H _ _ _ _ _ _ _ _ _ _ _ _+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V _ _ _ _ _ _ _ _ _ _ _ _+h+h+h+h+h+h+h+h+h _ _ _ _ _ _ _ _ _ _ _ _
```
En IGH+ :
```
IGH+ SEG_+ 1.329853e-39 8.909570e-83/1.329853e-39 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H _ _ _ _ _ _ _ _ _ _ _ _+h+h+h+h+h+h+h+h+h _ _ _ _ _ _ _ _ _ _ _ _
```
Cela passe en IGH+ à cause du J, qui a pourtant autant d'affectations dans les deux cas. Mais la différence c'est que la fenêtre est plus proche du J en IGH+ qu'en IGH. La e-valeur est donc calculée sur une zone moins grande pour le J en IGH+ qu'en IGH, la e-valeur est donc moins élevée en IGH+ et IGH+ gagne.Heuristique 2.0https://gitlab.inria.fr/vidjil/vidjil/-/issues/2596[Aho] Meilleure e-valeur avec xxx qu'avec une recombinaison classique2019-03-06T09:57:28+01:00Mikaël Salson[Aho] Meilleure e-valeur avec xxx qu'avec une recombinaison classiqueSur `should-vdj-tests/BRI_multi.should-vdj.fa` (par exemple) une séquence est segmentée en xxx au lieu de l'être en TRA+D. La e-valeur en xxx est 10^-109 contre 10^-100 en TRA+D.
Pourtant l'index load du xxx est bien plus élevé (3,7% con...Sur `should-vdj-tests/BRI_multi.should-vdj.fa` (par exemple) une séquence est segmentée en xxx au lieu de l'être en TRA+D. La e-valeur en xxx est 10^-109 contre 10^-100 en TRA+D.
Pourtant l'index load du xxx est bien plus élevé (3,7% contre 0,004%).
La séquence est :
```
>TRDV2*01 3/CGGAGG/19 TRAJ48*01 [TRA+D]
TGCAAAGAACCTGGCTGTACTTAAGATACTTGCACCATCAGAGAGAGATGAAGGGTCTTACTACTGTGCCTGTGACCGGAGGGAAATTAACCTTTGGGACTGGAACAAGACTCACCATCATACCCAGTAAGTTCTTCATCCTTGGTCAGGAAATCAGCCTGCATAAGATTCTGGGGA
```Heuristique 2.0Mikaël SalsonMikaël Salsonhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/3584Germline unexpected : comment remonter à la bonne germline ?2024-03-27T16:43:37+01:00Mikaël SalsonGermline unexpected : comment remonter à la bonne germline ?La fonction `Germline::override_rep5_rep3_from_labels` permet normalement de faire cela. Elle est utilisée lorsqu'on est en unexpected afin d'aligner la séquence contre les bons répertoires.
Les répertoires corrects sont trouvés grâce a...La fonction `Germline::override_rep5_rep3_from_labels` permet normalement de faire cela. Elle est utilisée lorsqu'on est en unexpected afin d'aligner la séquence contre les bons répertoires.
Les répertoires corrects sont trouvés grâce aux KmerAffect. Mais… ces KmerAffect sont les mêmes pour un germline complet et incomplet (le shortcut est par exemple `H` en complet et `h` en incomplet) :
```c++
affect_5 = string(1, toupper(shortcut)) + "-" + code + "V";
affect_4 = string(1, 14 + shortcut) + "-" + code + "D";
affect_3 = string(1, tolower(shortcut)) + "-" + code + "J";
```
On pourrait se dire que ce n'est pas grave et qu'on va mettre des KmerAffect différents pour les germlines complets et incomplets… sauf que non. Si on fait cela la partie commune des germlines complets et incomplets (souvent les gènes J) seraient considérés comme ambigus car appartenant à des germlines différents.Heuristique 2.0https://gitlab.inria.fr/vidjil/vidjil/-/issues/2651Aho : quel index load pour le unexpected ?2019-02-28T20:52:32+01:00Mikaël SalsonAho : quel index load pour le unexpected ?Avec Aho, l'index load pour le undetermined est calculé pour le locus auquel on s'intéresse. C'est-à-dire que si on détecte une recombinaison Vh/Jg on aura l'index load des Vh uniquement pour la partie V et l'index load des Jg uniquement...Avec Aho, l'index load pour le undetermined est calculé pour le locus auquel on s'intéresse. C'est-à-dire que si on détecte une recombinaison Vh/Jg on aura l'index load des Vh uniquement pour la partie V et l'index load des Jg uniquement pour la partie J.
Avant on avait l'index load de tous les V/J ensemble. Peut-être serait-il mieux d'avoir l'index load de tous les V insérés d'un côté et tout l'index load des J insérés de l'autre. Sauf que ce n'est pas si simple… et pas forcément souhaitable. À terme le but est bien d'avoir un seul index avec tous les locus : c'est-à-dire la situation actuelle du unexpected.Heuristique 2.0https://gitlab.inria.fr/vidjil/vidjil/-/issues/3727Utilisation de getS() ou de la graîne avec Aho-Corasick2019-02-28T20:52:32+01:00Mikaël SalsonUtilisation de getS() ou de la graîne avec Aho-CorasickDans plusieurs endroits du code, notamment `KmerAffectAnalyser::getMaximum`, on utilise le span de la graîne. Or cette graîne peut être différente selon les germlines et selon le gène étudié. Ce n'est pas un problème dans !78 car on a u...Dans plusieurs endroits du code, notamment `KmerAffectAnalyser::getMaximum`, on utilise le span de la graîne. Or cette graîne peut être différente selon les germlines et selon le gène étudié. Ce n'est pas un problème dans !78 car on a un automate par germline et les graînes ne sont pas encore différenciées selon le gène. Mais cela pourrait poser problème plus tard (ou à d'autres endroits du code), notamment avec #1169.Heuristique 2.0https://gitlab.inria.fr/vidjil/vidjil/-/issues/3501Aho : retirer les hack2024-03-26T12:09:05+01:00Mikaël SalsonAho : retirer les hack5bc753eeae et 5ccd2ec7345bc753eeae et 5ccd2ec734Heuristique 2.0https://gitlab.inria.fr/vidjil/vidjil/-/issues/2168Mieux construire la pseudo-germline xxx en prenant aussi les gènes D2018-10-03T15:52:36+02:00Mathieu GiraudMieux construire la pseudo-germline xxx en prenant aussi les gènes DLes gènes `D` ne sont pour l'instant pas pris en compte.
Voir 3ea1027 et #2167.
@mikael-sLes gènes `D` ne sont pour l'instant pas pris en compte.
Voir 3ea1027 et #2167.
@mikael-sHeuristique 2.0