vidjil issueshttps://gitlab.inria.fr/vidjil/vidjil/-/issues2020-05-20T09:17:18+02:00https://gitlab.inria.fr/vidjil/vidjil/-/issues/4296--analysis-filter également sur J ?2020-05-20T09:17:18+02:00Mathieu Giraud--analysis-filter également sur J ?Sur ma machine, temps pris par `align_against_collection` sur une partie de S22/IGH :
- V: 38 (±40) ms
- D: 1 (±1) ms
- J: 10 (±4) ms
au passage, l'ancien temps :
- V `--analysis-filter all`: 815 (±72) ms
Même si le V reste e...Sur ma machine, temps pris par `align_against_collection` sur une partie de S22/IGH :
- V: 38 (±40) ms
- D: 1 (±1) ms
- J: 10 (±4) ms
au passage, l'ancien temps :
- V `--analysis-filter all`: 815 (±72) ms
Même si le V reste en ce moment dominant, mettre aussi le filtre sur le J pour gagner probablement de l'ordre de 15% ?https://gitlab.inria.fr/vidjil/vidjil/-/issues/3218Supprimer les k-mers non significatifs ?2020-02-21T21:19:30+01:00Mathieu GiraudSupprimer les k-mers non significatifs ?(Juste une réflexion peut-être non pertinente, à voir uniquement si le temps du filtrage reste significatif après #3217.)
Sur IGHV (347 gènes), en prenant des k-mers de taille 5:
- 1031 k-mers différents, dont
- 36 k-mers qui appar...(Juste une réflexion peut-être non pertinente, à voir uniquement si le temps du filtrage reste significatif après #3217.)
Sur IGHV (347 gènes), en prenant des k-mers de taille 5:
- 1031 k-mers différents, dont
- 36 k-mers qui apparaissent dans >= 300 des gènes.
- environ 500 k-mers qui apparaissent dans >= 50 des gènes
Cela fait beaucoup de k-mers qui apparaissent très souvent (et qui vont "charger" l'automate, le match ne serait-il pas en `O(zn)`, où `z` est le nombre moyen d'affectations par k-mer) ?
On verra quand on aura le temps exact du filtrage (sans suppression) pour #3190 et après #3217, mais est-ce que ces 36 kmers apparaissant trop souvent apportent vraiment du signal dans le filtrage ? (Ils peuvent certes amener un signal négatif, on pourrait à la limite stocker cette info.)
cc @mikael\-s @boreechttps://gitlab.inria.fr/vidjil/vidjil/-/issues/4179Rupture de l'axe des Y / broken Y-axis2020-02-12T16:48:49+01:00Mathieu GiraudRupture de l'axe des Y / broken Y-axisDiscuté avec @mikael-s et @duez : devrait-on couper l'axe des Y pour voir un fond polyclonal sous un clone majoritaire (au lieu de la technique habituelle avec ~"client-filter") ?
Le soucis est qu'on veut toujours voir "l'écrasement". P...Discuté avec @mikael-s et @duez : devrait-on couper l'axe des Y pour voir un fond polyclonal sous un clone majoritaire (au lieu de la technique habituelle avec ~"client-filter") ?
Le soucis est qu'on veut toujours voir "l'écrasement". Par exemple, si le clone 1 est > 3-4 fois le clone 2, couper l'axe pour qu'il soit toujours au moins 2x plus gros que le clone 2. Ces cas peuvent cependant être très fréquents pour des échantillons de diag.
(Au passage, pas exactement sur le même sujet, https://www.data-to-viz.com/caveat/cut_y_axis.html)
@duez : "si on fait un truc automatique, il faudra avoir une préférence pour l'enlever"https://gitlab.inria.fr/vidjil/vidjil/-/issues/3981On trouve un clone sur très peu d'identité.2019-09-16T16:58:44+02:00Thonier FlorianOn trouve un clone sur très peu d'identité.Suite à des demandes d'éclaircissement, je regarde pourquoi des clones n'ont pas d'identification VDJ. Je prends les séquences bruts de ce clone par l'identifiant, puis lance vidjil dessus avec `-K` pour voir l'affectation.
Je me rends...Suite à des demandes d'éclaircissement, je regarde pourquoi des clones n'ont pas d'identification VDJ. Je prends les séquences bruts de ce clone par l'identifiant, puis lance vidjil dessus avec `-K` pour voir l'affectation.
Je me rends alors compte que nous prédisons un clone, alors que sur 95nt, nous n'avons que 12 matchs de V au début de la séquence, et 6 matchs de J en fin de séquence, les 80nt intermédiaires étant vides.
De plus, comme nous avons des matchs à 100% sur ces portions, la evalue est assez élevé, à 1.78e-15 et 5e-21.
Le clone concerné est le premier de ce sample : https://app.vidjil.org/?set=33551&config=2&clone=41
```
>seq_identifie_vidjil
GAGACCCTGTCCCTCACCTGCGCTCCTGCGAGACCAGATATAAAACTAGCTGCCAACCCAGCCTGTGGCCAGGTCACCGTCTCCTCAGGTCCT
# 18 + VJ 1 24 72 93 seed IGH SEG_+ 2.087323e-16 4.085299e-22/2.087319e-16+H+H+H+H+H+H+H+H+H+H+H+H _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _+h+h+h+h+h+h _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
```
Je pense que l'on est dans un cas limite, et on ne devrait probablement pas retourner de clone la dessus.
J'ai cherché une issue qui s'y rapporterait. Je ne sais pas si cela à un lien avec #1964, mais le fine pourrait déjà permettre de faire un filtre plus précis non ?
ping @magiraud @mikael-shttps://gitlab.inria.fr/vidjil/vidjil/-/issues/3855Comparaison / overlap de répertoires : combien de clones ?2019-04-08T14:13:20+02:00Mathieu GiraudComparaison / overlap de répertoires : combien de clones ?@mikael\-s : "savoir les clones qu'on retrouve, mais aussi les gènes V".
Très clairement certaines des réponses pourraient être via ~"app\-stats", dès qu'on est plus sur des distributions stats#242. Discussion sur l'aspect client dans #...@mikael\-s : "savoir les clones qu'on retrouve, mais aussi les gènes V".
Très clairement certaines des réponses pourraient être via ~"app\-stats", dès qu'on est plus sur des distributions stats#242. Discussion sur l'aspect client dans #3857, ici discussion sur le nombre de clones : combien en faut-il pour étudier `A\B` et `B\A`, `A or B`, `A and B`, voire `A xor B` ?
https://gitlab.inria.fr/vidjil/vidjil/-/issues/3825Heuristique du FineSegmenter : compter plus finement les occurrences2019-03-18T18:57:45+01:00Mikaël SalsonHeuristique du FineSegmenter : compter plus finement les occurrencesÀ l'heure actuelle qu'un k-mer apparaisse dans 10 gènes ou dans 1 seul gène, le nombre d'occurrence de chacun de ces gènes est compté de la même manière.
Autrement dit dans le premier cas on aura incrémenté les différents compteurs de 1...À l'heure actuelle qu'un k-mer apparaisse dans 10 gènes ou dans 1 seul gène, le nombre d'occurrence de chacun de ces gènes est compté de la même manière.
Autrement dit dans le premier cas on aura incrémenté les différents compteurs de 10 alors que dans le second cas on ne l'aura augmenté que de 1. On donne donc autant (voire moins) de poids à des k-mers spécifiques qu'à des k-mers ambigus.https://gitlab.inria.fr/vidjil/vidjil/-/issues/3511Utilise-t-on l'heuristique de filtrage pour le locus unexpected ?2018-10-04T11:34:57+02:00Mikaël SalsonUtilise-t-on l'heuristique de filtrage pour le locus unexpected ?Je n'ai pas l'impressionJe n'ai pas l'impressionhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/3187Filtrage du BioReader pour align_against_collection : gérer le cas s'il y a p...2018-07-12T18:00:22+02:00Mikaël SalsonFiltrage du BioReader pour align_against_collection : gérer le cas s'il y a peu de résultats à getMultiResults()On pourrait avoir le cas où on a peu de k-mers correspondent à des gènes V existants (à cause de mutations par exemple).
Si on a seulement 3 k-mers qui correspondent à du V4 et 2 à du V6, a-t-on vraiment envie de privilégier ces deux gè...On pourrait avoir le cas où on a peu de k-mers correspondent à des gènes V existants (à cause de mutations par exemple).
Si on a seulement 3 k-mers qui correspondent à du V4 et 2 à du V6, a-t-on vraiment envie de privilégier ces deux gènes-là plutôt que les autres ? Il y a donc un certain seuil à partir duquel on n'a plus envie de filtrer le `BioReader`.
On pourrait calculer un seuil de p-valeur pour savoir si le nombre de k-mers est satisfaisant par exemple. On a déjà tout ce qu'il faut normalement.https://gitlab.inria.fr/vidjil/vidjil/-/issues/3297Faire des cas difficiles pour les heuristiques (segmentation, filtrage) par g...2018-07-11T18:22:34+02:00Mathieu GiraudFaire des cas difficiles pour les heuristiques (segmentation, filtrage) par grainesPour #3183, #3223, #3225, ce serait bien de faire des séquences (même artificielles) qui mettraient l'heuristique de filtrage en difficulté... de la même manière qu'on a déjà beaucoup de tests sur des cas limites pour ~"cpp\-heuristic" ....Pour #3183, #3223, #3225, ce serait bien de faire des séquences (même artificielles) qui mettraient l'heuristique de filtrage en difficulté... de la même manière qu'on a déjà beaucoup de tests sur des cas limites pour ~"cpp\-heuristic" .
Cela dépend aussi fortement des graines choisies. #1364https://gitlab.inria.fr/vidjil/vidjil/-/issues/3355Réduire l'affichage lors du debug de la méthode filter2018-07-10T17:48:59+02:00Cyprien BoréeRéduire l'affichage lors du debug de la méthode filterL'affichage produit lorsque `DEBUG_FILTER` est défini, donne le nombre d'occurrence pour toutes les allèles d'un même gène, alors qu'il suffirait d'avoir seulement le nombre de K-mers trouvé par gène et non par allèle.
Ex:
```
100,kmers...L'affichage produit lorsque `DEBUG_FILTER` est défini, donne le nombre d'occurrence pour toutes les allèles d'un même gène, alors qu'il suffirait d'avoir seulement le nombre de K-mers trouvé par gène et non par allèle.
Ex:
```
100,kmers,found,for,IGHV3-38*01
100,kmers,found,for,IGHV3-38*02
100,kmers,found,for,IGHV3-38*03
87,kmers,found,for,IGHV3-38-3*01
84,kmers,found,for,IGHV3-43*01
84,kmers,found,for,IGHV3-43*02
82,kmers,found,for,IGHV3-43D*01
66,kmers,found,for,IGHV3-47*01
66,kmers,found,for,IGHV3-47*02
```
Au lieu de :
```
100,kmers,found,for,IGHV3-38
87,kmers,found,for,IGHV3-38-3
84,kmers,found,for,IGHV3-43
82,kmers,found,for,IGHV3-43D
66,kmers,found,for,IGHV3-47
```https://gitlab.inria.fr/vidjil/vidjil/-/issues/3344Le filtrage avec -Z 1 ne renvoie pas la bonne séquence2018-07-10T17:03:44+02:00Mikaël SalsonLe filtrage avec -Z 1 ne renvoie pas la bonne séquenceExemples où le `-Z 1` n'est pas satisfaisant. #3225 pourrait améliorer les choses.Exemples où le `-Z 1` n'est pas satisfaisant. #3225 pourrait améliorer les choses.https://gitlab.inria.fr/vidjil/vidjil/-/issues/3267Filtrage des germlines : le désactiver pour les "petites" germlines ?2018-07-06T11:10:44+02:00Mathieu GiraudFiltrage des germlines : le désactiver pour les "petites" germlines ?Faudrait-il quelque chose pour désactiver le filtrage sur certaines germlines ?
- Un truc en dur qui le ferait que pour les `IGHV` (et éventuellement d'autres pour lesquels on voit une accélération) ? Cela peut être largement suffisa...Faudrait-il quelque chose pour désactiver le filtrage sur certaines germlines ?
- Un truc en dur qui le ferait que pour les `IGHV` (et éventuellement d'autres pour lesquels on voit une accélération) ? Cela peut être largement suffisant dans un premier temps.
- Ou bien plus un truc plus fin, automatique avec la taille de la germline ?
(quand c'est désactivé, pas de construction de l'automate comme dans #3268).
cc @boreechttps://gitlab.inria.fr/vidjil/vidjil/-/issues/3269vidjil.cpp ne devrait pas, par défaut, sortir un fichier par clone segmenté2018-06-22T12:04:52+02:00Mathieu Giraudvidjil.cpp ne devrait pas, par défaut, sortir un fichier par clone segmentéUn *fichier* `ofstream out_clone(clone_file_name.c_str())` est ouvert par clone sous le `-z`. Il faudrait voir si on souhaite garder ce fonctionnement, ou bien limiter cette sortie à quelques clones.
Non essentiel pour l'instant (c'est...Un *fichier* `ofstream out_clone(clone_file_name.c_str())` est ouvert par clone sous le `-z`. Il faudrait voir si on souhaite garder ce fonctionnement, ou bien limiter cette sortie à quelques clones.
Non essentiel pour l'instant (c'est ce qu'on a toujours fait, et le temps n'est pas si grand), mais devra être résolu avant qu'on fasse en routine des `-z 10000`.
cc @boreechttps://gitlab.inria.fr/vidjil/vidjil/-/issues/3227Filtrage des germlines : évaluer le temps pris par l'alignement2018-06-06T16:54:51+02:00Mikaël SalsonFiltrage des germlines : évaluer le temps pris par l'alignementAprès #3217 et pour évaluer si #3225 est nécessaire il faudra connaître le temps pris par l'alignement dans le cadre du lancement global d'un `vidjil-algo -c segment`. Est-ce toujours l'étape prépondérante ?
Ce test se fera avec une (ou...Après #3217 et pour évaluer si #3225 est nécessaire il faudra connaître le temps pris par l'alignement dans le cadre du lancement global d'un `vidjil-algo -c segment`. Est-ce toujours l'étape prépondérante ?
Ce test se fera avec une (ou plusieurs) valeur de N réaliste décidée en fonction des résultats de #3223.
Pour mesurer le temps pris par les différentes étapes de l'algorithme, [voir ceci](https://baptiste-wicht.com/posts/2011/09/profile-c-application-with-callgrind-kcachegrind.html).Cyprien BoréeCyprien Borée