vidjil issueshttps://gitlab.inria.fr/vidjil/vidjil/-/issues2018-07-06T12:39:42+02:00https://gitlab.inria.fr/vidjil/vidjil/-/issues/2658VD/VJ : Changer d'avis au moment du Fine2018-07-06T12:39:42+02:00Mathieu GiraudVD/VJ : Changer d'avis au moment du FineIndépendamment des discussions de #2655.
Lors de la deuxième passe, on réévalue chaque read représentative pour le meilleur locus, et on lance le Fine dessus. Mais on a le temps... on pourrait tout à fait lancer deux Fine et prendre le ...Indépendamment des discussions de #2655.
Lors de la deuxième passe, on réévalue chaque read représentative pour le meilleur locus, et on lance le Fine dessus. Mais on a le temps... on pourrait tout à fait lancer deux Fine et prendre le meilleur, l'estimation de ~"bio-e-value" étant supposée plus précise lors du Fine.https://gitlab.inria.fr/vidjil/vidjil/-/issues/2657SEG_METHOD_34_NOT52018-07-13T16:24:48+02:00Mathieu GiraudSEG_METHOD_34_NOT5Une possibilité (pas forcément souhaitable) pour #2655 : en cas de VD, regarder derrière s'il y a des k-mers J, et faire le calcul qu'il faut pour dire qu'il ne devrait pas en avoir.Une possibilité (pas forcément souhaitable) pour #2655 : en cas de VD, regarder derrière s'il y a des k-mers J, et faire le calcul qu'il faut pour dire qu'il ne devrait pas en avoir.https://gitlab.inria.fr/vidjil/vidjil/-/issues/2655Comparer des e-valeurs venant de méthodes de segmentation différentes ?2023-10-26T15:49:32+02:00Mathieu GiraudComparer des e-valeurs venant de méthodes de segmentation différentes ?Titre initial : *Ne pas* comparer des e-valeurs venant de méthodes de segmentation différentes :-)
Nous avons plusieures tâches ou bugs passés, actuels et futurs liés à la comparaison de ~"bio-e-value" entre `SEG_METHOD_*` ou germlines ...Titre initial : *Ne pas* comparer des e-valeurs venant de méthodes de segmentation différentes :-)
Nous avons plusieures tâches ou bugs passés, actuels et futurs liés à la comparaison de ~"bio-e-value" entre `SEG_METHOD_*` ou germlines différentes :
- VD/VDJ : #2652, #1878
- xxx/*: #2596, hack 5bc753eea, #2651, hack 951facdc
- ONE/* : #2653
Discussion avec @mikael-s il y a quelques jours : une p-valeur d'une séquence est la probabilité qu'elle sorte, étant donné un modèle. Mais là... on a des modèles différents, et aucune connaissance sur ces modèles. Comparer n'est donc pas pertinent.
Supposons une read honnête, V^20 D^30 J^5. Quoi que l'on pénalise, ce sera ici toujours plus beau en VD qu'en VJ. Et #1878 n'arrange pas.
Nous devons peut-être changer complètement de point de vue. Si le filtre de e-valeur est de 10^-6, et que VD et VJ passent ce filtre (1), je veux exactement avoir la réponse la plus complète : "la séquence est VJ" (voire V(D)J après `Fine`, (2)). Le fait que VD puisse être à 10^-100 et VJ à 10^-10 ne change rien au fait que la réponse complète soit vraie "avec une erreur d'au plus 10^-6" (et même 10^-10 ici). (Et... vous savez quoi ? On peut dire avec e-valeur quasi nulle que "il y a des séquences humaines dedans", mais cela n'ajouterait pas grand chose.)
(1) VD et VJ *compatibles*, comme VhDh et VhJh. S'ils ne sont pas compatibles, c'est une autre histoire, voir ci-dessous.
(2) On pourrait aussi avoir une `Kmer`-heuristique détectant V-D-J, #2654, mais pareil, rien ne dit que les e-valeurs soient comparables avec les autres.
Une proposition serait donc **d'arrêter de choisir le locus avec la meilleure e-valeur**, et d'avoir plutôt une situation évoquée dans le passée (mais jamais implémentée, ou peut-être en dur au tout début quand on a fait `IGH+`) avec un ordre partiel `SEG_METHOD_ONE < xxx (MAX_12, MAX_1U) < IGH+ < IGH`. Entre deux germlines passant le filtre de e-valeur et comparables dans l'ordre partiel, on prend la germline la plus complète. Entre deux non-comparables, on prend la meilleure e-value (3). (À voir en pratique. On définit des `stage`, 0 pour les complets, 1 pour les `+`, 2 pour `xxx`, 3 pour `ONE`... ? on utilise un `after` pour encoder la relation ?)
(3) Et encore... Si j'ai TRB et IGH qui passent tous deux à 10^-6, cela veut bien dire que, avec très forte probabilité, la séquence est ambiguë. Les mettre plutôt en `AMBIGUOUS` ?
- Cette définition est encore un chouia ambiguë: si on a `IGH+` 10^-30, `IGH` 10^-10, `TRG` 10^-10, que choisir ?
- Et qu'est-ce que cela donne pour les `TRD+` avec Dd2- ... ?
Cela peut sembler un retour en arrière par rapport à #1499/ae1ac525 (printemps 2015)... mais non: nous sommes contents de nos calculs de e-valeurs (et bien plus sûrs qu'en 2015) pour dire si une recombinaison est signifiante ou pas. Each cell counts.https://gitlab.inria.fr/vidjil/vidjil/-/issues/2654Heuristique KmerSegmenter détectant directement VDJ (SEG_METHOD_5K43)2018-07-16T07:30:18+02:00Mathieu GiraudHeuristique KmerSegmenter détectant directement VDJ (SEG_METHOD_5K43)On en avait parlé il y a des années, je n'en retrouve pas trace.
Utiliité d'un affectanalyzer permettant aussi de détecter le 4 au milieu du 5 et 3 ?
Peut-être pas impossible de rester linéaire, en sommant sur un espace à deux dimension...On en avait parlé il y a des années, je n'en retrouve pas trace.
Utiliité d'un affectanalyzer permettant aussi de détecter le 4 au milieu du 5 et 3 ?
Peut-être pas impossible de rester linéaire, en sommant sur un espace à deux dimension. Mais bon, utilité ? ~"wont-fix" ?https://gitlab.inria.fr/vidjil/vidjil/-/issues/2653SEG_METHOD_ONE: comment comparer aux autres SEG_METHOD_* ?2023-10-26T15:49:32+02:00Mathieu GiraudSEG_METHOD_ONE: comment comparer aux autres SEG_METHOD_* ?https://gitlab.inria.fr/vidjil/vidjil/-/issues/2648Calcul efficace d'un minimizer : par Aho ?2017-09-18T11:07:46+02:00Mathieu GiraudCalcul efficace d'un minimizer : par Aho ?Ce qui est dans !76 pour #2643 fonctionne : `kaa.minimize(const KmerAffect &affect, int margin, int width)` retourne la position (hors de `margin` sur les bords) tel que le k-mer de longueur `width` soit minimal (maximal en fait). Idéale...Ce qui est dans !76 pour #2643 fonctionne : `kaa.minimize(const KmerAffect &affect, int margin, int width)` retourne la position (hors de `margin` sur les bords) tel que le k-mer de longueur `width` soit minimal (maximal en fait). Idéalement on n'aimerait pas avoir de paramètre `width`, juste `minimize(const KmerAffect &affect, int margin)`.
Mais le code actuel est trivial, c'est du `O(n * width)`, et on utilise `tools.dna_to_int` (qui ne sert pas ailleurs, c'était une tentative il y a longtemps..., ~"dev-dead-code" ?). Si on se met à faire cela pour chaque read reconnue par SEG_METHOD_ONE (par exemple des CDs dans du RNA-seq #1801), c'est perdu.
Il y a sûrement des moyens de faire `O(n)`... voir #915 ?
@mikael-s, ne serait-ce pas possible, de coder simplement et efficacement `minimize`? Par exemple l'état final avec `affect` telle que son *adresse mémoire* soit minimale ? Si on joue avec cela, serait-ce reproductible d'un lancer à l'autre ? Si non reproductible, stocker un autre `int` dans chaque état d'Aho sur lequel on trie ?https://gitlab.inria.fr/vidjil/vidjil/-/issues/2647Tester que les germlines ne contiennent bien que du Fasta2023-03-02T10:25:00+01:00Mathieu GiraudTester que les germlines ne contiennent bien que du FastaPour tenter d'éviter des soucis comme #2598 et #2646, ce serait opportun de tester si les séquences dans `germline/*/*.fa` n'ont que du Fasta (éventuellement gappé et/ou commenté).Pour tenter d'éviter des soucis comme #2598 et #2646, ce serait opportun de tester si les séquences dans `germline/*/*.fa` n'ont que du Fasta (éventuellement gappé et/ou commenté).https://gitlab.inria.fr/vidjil/vidjil/-/issues/2645Base de données de germlines HGNC/NCBI2018-07-13T14:25:32+02:00Mathieu GiraudBase de données de germlines HGNC/NCBIVia HGNC/HUGO (qu'on utilise pour vidjil#1801 dans `get-CD.py`, c6cb81d) on accède librement à des données en provenance de ~"repseq-IMGT" avec les noms des gènes (mais pas les allèles).
- http://www.genenames.org/cgi-bin/genefamilies/s...Via HGNC/HUGO (qu'on utilise pour vidjil#1801 dans `get-CD.py`, c6cb81d) on accède librement à des données en provenance de ~"repseq-IMGT" avec les noms des gènes (mais pas les allèles).
- http://www.genenames.org/cgi-bin/genefamilies/set/348
- http://www.genenames.org/cgi-bin/genefamilies/set/370
On pourrait donc créer et distribuer une base de données de germlines #2639 via le NCBI qui correspondrait aux gènes officiels du HGNC.
Voir vdj#456.https://gitlab.inria.fr/vidjil/vidjil/-/issues/2638Déployer manuellement l'algo (feature-a) sur dev2018-07-10T11:17:52+02:00Mathieu GiraudDéployer manuellement l'algo (feature-a) sur devDiscussion lors de l'audio : même sans faire #2637, on est intéressé parfois à avoir un `feature-a` avec un environnement web. Un déploiement manuel vers `dev` semble jouable.
Clés d'un slave à autoriser sur `vda`.Discussion lors de l'audio : même sans faire #2637, on est intéressé parfois à avoir un `feature-a` avec un environnement web. Un déploiement manuel vers `dev` semble jouable.
Clés d'un slave à autoriser sur `vda`.https://gitlab.inria.fr/vidjil/vidjil/-/issues/2629Le texte "(focus on some clones)" devrait être plus visible2019-01-10T15:21:23+01:00Mathieu GiraudLe texte "(focus on some clones)" devrait être plus visibleDiscussion avec @flothoni sur #2626 (pas sûr que ce soit lié).
On pourrait voir mieux qu'on est en focus, peut-être avec un fond de couleur.
Attendre #2245 ?Discussion avec @flothoni sur #2626 (pas sûr que ce soit lié).
On pourrait voir mieux qu'on est en focus, peut-être avec un fond de couleur.
Attendre #2245 ?https://gitlab.inria.fr/vidjil/vidjil/-/issues/2618Status : FUSING en plus de RUNNING ?2018-02-16T15:56:14+01:00Mathieu GiraudStatus : FUSING en plus de RUNNING ?Discussion lors de l'audio à propos de #2605/#2606.Discussion lors de l'audio à propos de #2605/#2606.Ryan HerbertRyan Herberthttps://gitlab.inria.fr/vidjil/vidjil/-/issues/2608N'afficher que les patients avec des mise à jours non encore visualisées par ...2017-10-17T16:49:57+02:00Thonier FlorianN'afficher que les patients avec des mise à jours non encore visualisées par l'utilisateurOriginalement dans #2607 :
> - toutes les analyses non encore visualisées.
>
> - un mix des trois (au choix les XXX dernier jobs ou bien si ca dépasse les jobs depuis XXX jours, avec e nplus une colonne qui indique si il reste un jobs ...Originalement dans #2607 :
> - toutes les analyses non encore visualisées.
>
> - un mix des trois (au choix les XXX dernier jobs ou bien si ca dépasse les jobs depuis XXX jours, avec e nplus une colonne qui indique si il reste un jobs en attente sur ce patient.
Je me demande si il ne serait aps possible de filtrer la liste des patients avec uniquement les patients (ou runs/sets, comme d'hab) qui ont reçu une update non encore vue par l'utilisateur.
@RyanHerb @magiraud @mikael-shttps://gitlab.inria.fr/vidjil/vidjil/-/issues/2604Ajouter plusieurs clones virtuels d'un coup2017-09-08T11:29:48+02:00Mathieu GiraudAjouter plusieurs clones virtuels d'un coupAurélie ~"LIL-Lille" : "On voudra coller plusieurs séquences d'un coup".
#1921.
Aurélie ~"LIL-Lille" : "On voudra coller plusieurs séquences d'un coup".
#1921.
https://gitlab.inria.fr/vidjil/vidjil/-/issues/2603Affichage des clone ajoutés2020-02-25T19:36:29+01:00Mathieu GiraudAffichage des clone ajoutésNathalie ~"LIL-Lille" : "il faudra bien identifier les clones virtuels #1921, qu'on ne les confonde pas et qu'on s'en souvienne lors d'une prochaine visite".
Voir aussi #2212.
Afficher ces clones en carré (pivoté de 45°) dans le scatte...Nathalie ~"LIL-Lille" : "il faudra bien identifier les clones virtuels #1921, qu'on ne les confonde pas et qu'on s'en souvienne lors d'une prochaine visite".
Voir aussi #2212.
Afficher ces clones en carré (pivoté de 45°) dans le scatterplot ? Comment les mettre dans les autres vues ?https://gitlab.inria.fr/vidjil/vidjil/-/issues/2602Ajouter un clone et relance de fuse2021-11-26T13:45:56+01:00Mathieu GiraudAjouter un clone et relance de fuseEn discutant de #1921 avec Aurélie ~"LIL-Lille", une motivation pour ajouter un clone serait de voir s'il n'est pas plus loin que le top 100... on voit bien l'intérêt côté bio, vérifier si un séquence Sanger est bien absente ou pas.
Cel...En discutant de #1921 avec Aurélie ~"LIL-Lille", une motivation pour ajouter un clone serait de voir s'il n'est pas plus loin que le top 100... on voit bien l'intérêt côté bio, vérifier si un séquence Sanger est bien absente ou pas.
Cela impliquerait de relancer ~"server-fuse" avec des séquences forcées. Pas facile... et surtout #1921 pouvait sinon se voir comme une fonctionnalité sans connexion à la ~"server-database".
Faire déjà #1921 sans cela ?https://gitlab.inria.fr/vidjil/vidjil/-/issues/2601Retravailler un alignement global en détectant les parties mal alignées2019-02-13T08:57:29+01:00Mathieu GiraudRetravailler un alignement global en détectant les parties mal alignéesPour aller plus loin que #2599, on souhaite détecter, dans un alignement, des parties mal alignées et mes remplacer par un bloc non aligné (typiquement le bloc grisé de #2599).
Mais plus simplement, on pourrait lancer un `SemiGlobalTran...Pour aller plus loin que #2599, on souhaite détecter, dans un alignement, des parties mal alignées et mes remplacer par un bloc non aligné (typiquement le bloc grisé de #2599).
Mais plus simplement, on pourrait lancer un `SemiGlobalTrans` (ou ...) comme il le faut et compléter en collant le bloc.https://gitlab.inria.fr/vidjil/vidjil/-/issues/2599segmenteur, alignement avec gènes VDJ: griser les parties supprimées des gènes2020-10-14T11:29:53+02:00Mathieu Giraudsegmenteur, alignement avec gènes VDJ: griser les parties supprimées des gènesDiscussion avec @mikael-s dans le métro: sans aller jusqu'à #2601, mettre les parties à droite du V calculé (et ...) en gris.
Via un `highlight` ?
Voir aussi #2356.Discussion avec @mikael-s dans le métro: sans aller jusqu'à #2601, mettre les parties à droite du V calculé (et ...) en gris.
Via un `highlight` ?
Voir aussi #2356.https://gitlab.inria.fr/vidjil/vidjil/-/issues/2595Segmentation avec un seul k-mer avec Aho-Corasick2019-02-28T20:52:32+01:00Mikaël SalsonSegmentation avec un seul k-mer avec Aho-CorasickLa version de Vidjil avec Aho-Corasick échoue sur un test dans `chimera-fake.should-get` sur cette séquence (qui est un faux mélange de TRG/TRD) :
> TCTTCCAACTTGGAAGGGAGAACGAAGTCAGTCACCAGGCTGACTGGGTCATCTGCTGAAGCCCAGAAGGTTACTCAAGCCCAGTCAT...La version de Vidjil avec Aho-Corasick échoue sur un test dans `chimera-fake.should-get` sur cette séquence (qui est un faux mélange de TRG/TRD) :
> TCTTCCAACTTGGAAGGGAGAACGAAGTCAGTCACCAGGCTGACTGGGTCATCTGCTGAAGCCCAGAAGGTTACTCAAGCCCAGTCATCAGTATCCATGCCAGTGAGGAAAGCAGTCACC
Or Vidjil segmente cette séquence en IGK et la chaîne d'affectations ressemble à cela :
```
# 11 - VJ 1 79 108 120 seed IGK SEG_- 1.858802e-01 1.858801e-01/1.009101e-07 _ _-k ? _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _+K _ _ _ _ _ _ _ _ _ _ _ _-K-K-K-K _ _ _ _ _ _-K-K _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _-K-K-K _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
```
Il n'y a qu'un seul `-k`, et la e-valeur est très haute, mais ça passe tout juste. Pourquoi ?
1. L'index load est faible sur les J (0,013%), contre 1,048% auparavant (il n'y avait pas de distinction entre l'index load des V et des J).
2. La séquence est relativement courte (120nt).
3. Il a peu de séquences dans le fichier.
Bref, que faire ? On est (à peu près) contents de notre calcul de e-valeur. Avoir un index load séparé pour les V et les J semble plus pertinent. Faut-il allonger la séquence pour tricher et refaire passer la e-valeur au dessus du seuil fatidique ?Mikaël SalsonMikaël Salsonhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/2593Lien vers app-analyze depuis le client ?2021-11-23T15:16:26+01:00Mathieu GiraudLien vers app-analyze depuis le client ?Pour l'instant, le lien http://app.vidjil.org/analyze est présent uniquement sur la page d'accueil du serveur.
Je ne vois pas où le mettre. Dans `help`, dans `import/export` ?Pour l'instant, le lien http://app.vidjil.org/analyze est présent uniquement sur la page d'accueil du serveur.
Je ne vois pas où le mettre. Dans `help`, dans `import/export` ?https://gitlab.inria.fr/vidjil/vidjil/-/issues/2590Tableaux responsifs2019-01-17T14:28:00+01:00Mathieu GiraudTableaux responsifsVu à Douai. En particuliers pour ce qui est renvoyé par le serveur.
Utiliser des classes plus responsives.Vu à Douai. En particuliers pour ce qui est renvoyé par le serveur.
Utiliser des classes plus responsives.