vidjil issueshttps://gitlab.inria.fr/vidjil/vidjil/-/issues2018-04-17T14:33:18+02:00https://gitlab.inria.fr/vidjil/vidjil/-/issues/1629Avoir les locus complets quelque part2018-04-17T14:33:18+02:00Vidjil TeamAvoir les locus complets quelque partNe devrait-on pas avoir quelque part *tout* le locus, éventuellement sans les genes V /D / J qui sont ailleurs ?
C'est quasi-équivalent aux up/down-streams, mais on pourrait être plus fin : pas seulement 50 (ou 20, ou 100), mais pile ce ...Ne devrait-on pas avoir quelque part *tout* le locus, éventuellement sans les genes V /D / J qui sont ailleurs ?
C'est quasi-équivalent aux up/down-streams, mais on pourrait être plus fin : pas seulement 50 (ou 20, ou 100), mais pile ce qu'il faut pour complémenter nos germlines.
On pourrait d'ailleurs soit vraiment complémenter les séquences, soit tout simplement... charger tout le locus, puis charger le reste pour marquer comme ambigu les k-mers dans les V/D/J.
***
@magiraud @mikael-shttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1628Heuristique : analyser les germlines non recombinés2017-12-13T08:22:37+01:00Vidjil TeamHeuristique : analyser les germlines non recombinés0618/R1, de Maria
- on ne segmente < 0.1% en mutli+inc+xxx
- mais 18% en MAX_1U (avec -e 10000000)
(et même 21% en -t 0)
En en ayant regardé le premier cluster, plus que du MAX_1U, c'est en fait du... non recombiné.
On devrait av...0618/R1, de Maria
- on ne segmente < 0.1% en mutli+inc+xxx
- mais 18% en MAX_1U (avec -e 10000000)
(et même 21% en -t 0)
En en ayant regardé le premier cluster, plus que du MAX_1U, c'est en fait du... non recombiné.
On devrait avoir une méthode de segmentation qui sort des trucs non recombinés. #1724.
On prend l'affectation maximum, et regarde combien il y en a... mais quel calcul de proba faire ensuite ? Pour que cela ne passe pas devant une vraie séquence recombinée ? #2653
Faut-il avoir des probas conditionnelles ?
***
Germlines avec les séquences avals des V et amonts des J, et on fait du V, contre du V-aval ou du J-amont contre du J de façon tout à fait classique.
***
Pourquoi pas... mais devra-t-on rentrer toutes ces germlines ?
Ou bien, si elles sont juste présentes quelque part, le MAX_12 va les trouver.
***
@magiraud @mikael-shttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1616Changer germline/genes : voir changements de stats induits2017-05-22T15:25:49+02:00Vidjil TeamChanger germline/genes : voir changements de stats induits(mis sur tâche à part, autant segmenter les tâches)
***
Quelles sont les stats qui varient ?
le nombres de locus, les pourcentages, la evalue ? Lesquels sont automatiques ou lesquelles faut-ils traitées ?
***
Le plus visible sont les inf...(mis sur tâche à part, autant segmenter les tâches)
***
Quelles sont les stats qui varient ?
le nombres de locus, les pourcentages, la evalue ? Lesquels sont automatiques ou lesquelles faut-ils traitées ?
***
Le plus visible sont les infos à haut à gauche :
total 764 757 reads
segmented 634 014 reads (82.90%)
selected locus 634 014 reads (82.90%) <--- cela peut changer
On les voit aussi quand on sélectionne des clones, en bas à droite (8 clones, 4534 reads, X.X%) et quand on fait export fasta ou bien export report. Mais normalement toutes ces choses prennent leurs infos au même endroit ?
regarde en particulier :
- model.js:update_selected_system
- clone.js:getPrintableSize et les autres fonctions appelées
(On ne change pas la evalue, c'est donné en amont par le C++)
***
ok
Je trouve les infos du log auss ia changer. C'est une seul variable texte, générée directement par vidjil.
Question d'approche : Pour modifier ses valeurs, il vaut mieux parser ça dans un objet, changer la/les valeurs, recalculer la répartition/stats, et resortir le résultat sous forme de string ?
***
Changement fait, mais pas encore les tests (je galère encore un peu).
***
@flothonihttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1614Faire une CSS de présentation / screenshot2023-03-28T16:21:06+02:00Vidjil TeamFaire une CSS de présentation / screenshotUtilisation : démo, mais aussi discussion patients autour d'une table. On se focalise sur le graphe, la grid, éventuellement sur les séquences.
- tous les textes plus gros (labels, séquences)
- masquer l'info / la liste des clones
...Utilisation : démo, mais aussi discussion patients autour d'une table. On se focalise sur le graphe, la grid, éventuellement sur les séquences.
- tous les textes plus gros (labels, séquences)
- masquer l'info / la liste des clones
(ou sinon, les compresser)
- masquer des boutons non essentiels
Comme ce sera dans le menu "palette", on pourra aisément basculer de la vue normale à cette vue.
***
@nobodyWeb 2023.10https://gitlab.inria.fr/vidjil/vidjil/-/issues/1598e-valeur et arguments de getProbabilityAtLeastOrAbove() dans getMaximum2016-11-29T14:38:24+01:00Vidjil Teame-valeur et arguments de getProbabilityAtLeastOrAbove() dans getMaximumLancer tout en double aura eu le mérite de faire apparaître un bug :
./vidjil -KAx 1 -z 0 -G germline/IGH data/Stanford_S22.fasta
./vidjil -KAx 1 -z 0 -G germline/IGH data/Stanford_S22.rc.fasta
et comparer les e-values (dans les .affe...Lancer tout en double aura eu le mérite de faire apparaître un bug :
./vidjil -KAx 1 -z 0 -G germline/IGH data/Stanford_S22.fasta
./vidjil -KAx 1 -z 0 -G germline/IGH data/Stanford_S22.rc.fasta
et comparer les e-values (dans les .affects)
seed IGH SEG_+ 1.495965e-87 2.055996e-167/1.495965e-87
seed IGH SEG_- 2.866244e-79 2.866244e-79/5.924178e-170
***
3b3bc05. Le calcul est bien mieux qu'avant, un getS() trainait sans raison. (Les tests ne changent pas... ces e-valeurs sont vraiment à un gros ordre de grandeur près !)
J'avoue ne pas être sûr du +1/-1, il faudra revérifier. En tout cas maintenant c'est symétrique par rapport au revcomp. Et je suis joueur, je pousse un test avec une vérif d'e-valeur (juste le début, c'est typiquement le truc qui peut louper sur all-slaves pour des raisons d'arrondi).
***
Pour les archives, toujours sur la première séquence de data/Stanford_S22(.rc).fasta :
Un décompte manuel des .affects donne :
- 66 k-mer V + 87 k-mer _ = 153 dans la partie gauche
- 28 k-mer J dans la partie droite
Les kms.results :
found 0, value 66, pos 164-202, before 66/0, after 0/28
found 0, value 28, pos 39-77, before 28/0, after 0/66 (rc)
avec la modif +1/-1, on a (et c'est symétrique)
at_least=66, length=165 (qui redevient bien n = 165 - 13 + 1 = 153 dans kmerstore.h:getProba())
at_least=28 length=40 (n = 28)
***
C'est du capillotracté, mais on n'a toujours pas la même e-valeur sur les deux brins :
#> seed IGH SEG_+ 4.886466e-33 3.847709e-40/4.886465e-33
#> seed IGH SEG_- 4.885721e-33 4.885720e-33/3.847123e-40
***
@magiraud @mikael-shttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1596L'estimation du nombre de séquences est fausse pour un .gz2020-08-27T12:44:14+02:00Vidjil TeamL'estimation du nombre de séquences est fausse pour un .gzDans `bioreader.cpp`, dans `approx_nb_sequences_in_file(string f)`:
`float ratio = (float) filesize(f.c_str()) / (float) sequences->getPos();`
On ne prend pas en compte le cas où c'est compressé, bref la valeur est fausse à un facteur...Dans `bioreader.cpp`, dans `approx_nb_sequences_in_file(string f)`:
`float ratio = (float) filesize(f.c_str()) / (float) sequences->getPos();`
On ne prend pas en compte le cas où c'est compressé, bref la valeur est fausse à un facteur environ 4.
Mais bon, vu que cela sert pour la e-valeur, on n'est pas à un demi-ordre de grandeur près...
***
- voir si un igzstream permet de savoir où l'on est, en position compressée
- ou voir si on peut avoir accès à la taille décompressée de tout le fichier
- ou multiplier par 4 quand c'est un .gz
***
Évoqué de nouveau vendredi dernier. En plus fasta.gz et fastq.gz ne donnent pas les mêmes biais.
***
@magiraud @mikael-shttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1592segmenter.h/c: rationaliser les attributs d'information2016-11-29T14:38:19+01:00Vidjil Teamsegmenter.h/c: rationaliser les attributs d'informationdans le Kmer et le FineSegmenter, on stocke différentes chaînes d'information :
info, info_extra, code, code_short, code_light
puis on s'en sert à des degrés divers sur la sortie standard et dans le .vidjil.
Voir aussi finishSegmentati...dans le Kmer et le FineSegmenter, on stocke différentes chaînes d'information :
info, info_extra, code, code_short, code_light
puis on s'en sert à des degrés divers sur la sortie standard et dans le .vidjil.
Voir aussi finishSegmentation() et getInfoLine().
Voir si tout cela ne pourraît pas être simplifié.
***
@nobodyhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1587Signature / Geler une analyse2022-05-19T08:03:41+02:00Vidjil TeamSignature / Geler une analyseIl faut pouvoir geler une analyse et marquer dans le rapport qui l'a gelée (ou validée) et quand. Il n'est plus possible de sauvegarder par dessus.
Permet-on de lancer de nouveaux runs sur ce fichier ? De toute façon on garde toujours...Il faut pouvoir geler une analyse et marquer dans le rapport qui l'a gelée (ou validée) et quand. Il n'est plus possible de sauvegarder par dessus.
Permet-on de lancer de nouveaux runs sur ce fichier ? De toute façon on garde toujours les résultats. Mais il faut pouvoir revenir facilement aux résultats sauvegardés.
***
Typiquement, en situation Diag puis MRD, on valide le Diag, et plus tard il y a un nouveau point. On est appelé à re-merger / colorer / .... (On a peut-être le droit de relancer le prog sur le Diag). Mais on a sauvegardé le fichier résultat comme le fichier analysis du Diag.
***
Mis en projet étudiant "tracabalité", sinon en reparler en 2016
https://gitlab.inria.fr/vidjil/vidjil/-/issues/1584Makefile et make should2022-06-20T10:58:09+02:00Vidjil TeamMakefile et make shouldmake should lance un clean, parce qu'il fait -O0.
Ce "clean" est gênant quand on est en train de triturer le code / les tests.
Et au passage, "make test" global lance deux fois à la suite cette compilation (should_get, puis should-vdj)....make should lance un clean, parce qu'il fait -O0.
Ce "clean" est gênant quand on est en train de triturer le code / les tests.
Et au passage, "make test" global lance deux fois à la suite cette compilation (should_get, puis should-vdj).
- Faudrait-il définir un autre nom d'éxécutable ./vidjil-test qui serait avec -O0 ?
(mais demande à tout modifier les *should_get ?)
- Ou y-a-t-il peut-être un moyen de savoir si les flags de compil ont changé ?
- Ou, encore plus simple, on ne lance -O0 que depuis le make global, et le test/make ne touche pas à tout cela ?
***
@magiraud @mikael-shttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1582stanford-label-FaW.should_get et -t 1002019-03-08T17:27:59+01:00Vidjil Teamstanford-label-FaW.should_get et -t 100qu'est-ce ?
***
3e6ace0. Cela ne doit pas être bien grave, mais j'y suis pas arrivé en 5 minutes.
-t 100 change les fenêtres de S22
***
@magiraud @mikael-squ'est-ce ?
***
3e6ace0. Cela ne doit pas être bien grave, mais j'y suis pas arrivé en 5 minutes.
-t 100 change les fenêtres de S22
***
@magiraud @mikael-shttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1581Tailles de fenêtres différentes selon les locus2018-04-10T12:29:07+02:00Vidjil TeamTailles de fenêtres différentes selon les locusMikaël : "pourquoi ne pas mettre la taille de la fenêtre dans Germline
et avoir des tailles différentes selon les germlines ? Je ne vois pas
pourquoi TRG et IGH (par exemple) devraient nécessairement avoir la même
taille de fenêtre."
**...Mikaël : "pourquoi ne pas mettre la taille de la fenêtre dans Germline
et avoir des tailles différentes selon les germlines ? Je ne vois pas
pourquoi TRG et IGH (par exemple) devraient nécessairement avoir la même
taille de fenêtre."
***
Ce serait un rétro-pédalage depuis le -w 50 (mais c'est possible, et plus pertinent de changer selon la germline que selon l'option multi ou pas)
Les raisons (peut-être mauvaises) qui avaient poussé à un -w unique :
- on souhaite pouvoir comparer IGH et IGH+
- et TRD avec TRD+, avec VdJa, avec TRA -> par transitivité TRA avec TRD, alors que VJ et VDJ
mais est-ce vraiment important ? deux fenêtres IGH et IGH+ n'ont de toute façon rien à voir ensemble...
***
... et si on resplite un clone, on aura des tailles de fenêtres encore différentes à l'intérieur d'un même locus...
***
@magiraud @mikael-shttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1577db_layout.html: avoir des onglets avec les derniers sets consultés ?2019-02-28T12:39:27+01:00Vidjil Teamdb_layout.html: avoir des onglets avec les derniers sets consultés ?On se ballade dans certains onglets (liste des patients, et pour les admins, les autres onglets), mais ce n'est pas facile de revenir sur le patient en cours.
Ce serait pratique d'avoir quelque chose type "patients John Doe (578) ...On se ballade dans certains onglets (liste des patients, et pour les admins, les autres onglets), mais ce n'est pas facile de revenir sur le patient en cours.
Ce serait pratique d'avoir quelque chose type "patients John Doe (578) - - - configs"
(et cela éviterait souvent d'avoir une requête 'liste des patients' :)
***
D'ailleurs, il n'y a pas de notion de "patient en cours" vu de la database, mais bon, on va dire que c'est le dernier pour lequel on a fait afficher un .vidjil.
***
@RyanHerbhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1573Coverage plus que douteux sur certains jeux de données2021-04-08T19:03:56+02:00Vidjil TeamCoverage plus que douteux sur certains jeux de donnéesSur les 20 premiers clones de Stanford S22, avec -w 60, près de la moitié ont un coverage <= 65%.
Et plusieurs sont à <= 55%.
***
Et avec -w 100, ce n'est pas vraiment mieux.
N'est-ce que des hypermutations somatiques, ou est-ce plus gr...Sur les 20 premiers clones de Stanford S22, avec -w 60, près de la moitié ont un coverage <= 65%.
Et plusieurs sont à <= 55%.
***
Et avec -w 100, ce n'est pas vraiment mieux.
N'est-ce que des hypermutations somatiques, ou est-ce plus grave ?
***
Titre changé : cela ne concerne pas que S22.
Autre exemple de jeux de données avec des coverages très douteux :
http://rbx.vidjil.org/browser/index.html?patient=786&config=26
***
@magiraud @mikael-shttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1567Splitter un clone / ré-analyser un sous-ensemble de reads2021-06-23T11:34:52+02:00Vidjil TeamSplitter un clone / ré-analyser un sous-ensemble de readsÉvoqué directement par Alice (et Matin il y a longtemps). Ma première réaction : non, l’algo ne marche pas comme cela !
Mais bon… si on est capable de récupérer les reads d’une fenêtre, on pourrait les ré-analyser avec d’autres paramètr...Évoqué directement par Alice (et Matin il y a longtemps). Ma première réaction : non, l’algo ne marche pas comme cela !
Mais bon… si on est capable de récupérer les reads d’une fenêtre, on pourrait les ré-analyser avec d’autres paramètres (par exemple un `-w 100` ou `200`, voire un `-w` égal à la taille du read, comme dans l'option `-!`),voire avec un autre programme... le browser n’y verrait que du feu, on pourrait avoir des windows de taille différente. Au final, ce serait un bouton « split to reads ».
On s’éloigne de la philosophie de l’algo, mais pourquoi pas ? D’ailleurs, si certains reads sont trouvés par d’autres méthodes (grep, séquences connues, xxx, autre heuristique, autre logiciel…), leur id va peut-être varier.
***
Marc: "Cela pourrait aussi être fait directement dans la première passe de Vidjil. On détecte mauvais coverage/..., et on applique d'autres paramètres"
***
Avec les données de la Pitié on a tendance à rassembler des choses qui ne devraient pas l'être. Il serait bien que la taille de la fenêtre s'adapte automatiquement aux données, sans avoir à relancer le jeu de données en tâtonnant pour savoir quelle taille de fenêtre est la mieux (une puissance de 10 ou pas ? ;) )
Exemple de jeu où on fait n'importe quoi avec la taille de fenêtre par défaut : http://rbx.vidjil.org/browser/?patient=914&config=26
***
Argh... je pensais à cette tâche justement en voyant votre échange de mail...
https://gitlab.inria.fr/vidjil/vidjil/-/issues/1559model.js et vues: updateXxx(), découpage judicieux ?2019-11-04T06:50:47+01:00Vidjil Teammodel.js et vues: updateXxx(), découpage judicieux ?La doc devrait mieux expliquer le fonctionnement de `update()` / `updateModel()` / `updateElem()` / `updateElemStyle()` / `updateStyle()` et surtout leur relation entre eux. Je ne sais pas si c'est dans chaque fonction, ou plutôt au débu...La doc devrait mieux expliquer le fonctionnement de `update()` / `updateModel()` / `updateElem()` / `updateElemStyle()` / `updateStyle()` et surtout leur relation entre eux. Je ne sais pas si c'est dans chaque fonction, ou plutôt au début de `model.js`,
J'ai par exemple du mal à comprendre pourquoi `updateModel()` est appelé par certaines fonctions.
@Duezhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1558Méta-données : sexe2021-02-04T10:01:45+01:00Vidjil TeamMéta-données : sexeAjouter un champ *facultatif* "sex" aux patients.
Rien d'urgent.
***
Une branche avait été faite par Ryan lors de la Vidjil Rando 2016.
***
@magiraud @RyanHerb @mikael-sAjouter un champ *facultatif* "sex" aux patients.
Rien d'urgent.
***
Une branche avait été faite par Ryan lors de la Vidjil Rando 2016.
***
@magiraud @RyanHerb @mikael-shttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1556Méta-données : technique de séquençage2023-03-02T09:42:32+01:00Vidjil TeamMéta-données : technique de séquençageDNA-seq, RNA-seq, Capture, PCR, nested PCR... (plusieurs choix possibles...)
***
Ping. ADT, Aurélien ?
***
@magiraud @mikael-sDNA-seq, RNA-seq, Capture, PCR, nested PCR... (plusieurs choix possibles...)
***
Ping. ADT, Aurélien ?
***
@magiraud @mikael-shttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1555Méta-données : maladie2017-02-08T13:42:46+01:00Vidjil TeamMéta-données : maladieévoqué par Cédric :
- T-ALL B-ALL CLL
- Lymphome (T) Lymphome (B) (classification pas si simple)
Et aussi AML ? CML ?
On oriente très fortement hémato (pour de l'immuno standard, pas besoin...)
***
@nobodyévoqué par Cédric :
- T-ALL B-ALL CLL
- Lymphome (T) Lymphome (B) (classification pas si simple)
Et aussi AML ? CML ?
On oriente très fortement hémato (pour de l'immuno standard, pas besoin...)
***
@nobodyhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1544Exploiter les qualités des .fastq ?2019-09-16T16:58:44+02:00Vidjil TeamExploiter les qualités des .fastq ?Difficile, pas de standard... et pour faire quoi ? Si c'est juste pour implémenter un filtre, il doit y avoir cela en sortie des séquenceurs.
Après, cela pourrait être mieux (calcul e-valeur en fonction, k-mots en fonction ?), mais bof...Difficile, pas de standard... et pour faire quoi ? Si c'est juste pour implémenter un filtre, il doit y avoir cela en sortie des séquenceurs.
Après, cela pourrait être mieux (calcul e-valeur en fonction, k-mots en fonction ?), mais bof.
***
Disons que ce qu'on a vu sur les problèmes de représentative (https://www.producteev.com/workspace/t/553e1de8b1fa09d063000007) montrent plutôt qu'on s'en sort déjà bien sans regarder la qualité.
***
@nobodyhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1541La représentative couvre mal certains jeux de clones2023-10-18T13:07:37+02:00Vidjil TeamLa représentative couvre mal certains jeux de clonesJeu de données IGH de Cristina http://rbx.vidjil.org/browser/index.html?patient=527&config=27 (voire les clones en fonction de clone length/GC content). Tous les reads font 250 bp, on a des représentatives autour de 50bp.
Même chose ave...Jeu de données IGH de Cristina http://rbx.vidjil.org/browser/index.html?patient=527&config=27 (voire les clones en fonction de clone length/GC content). Tous les reads font 250 bp, on a des représentatives autour de 50bp.
Même chose avec ce jeu de données (F. ~"Paris-Pitié") : http://rbx.vidjil.org/browser/index.html?patient=510&config=26 (certains clones sont autour de 70bp alors que les reads font 300bp)
***
Dans les deux jeux de données, même raison : il s'agit d'une séquence normale, suivie d'une série de A de longueur variable, suivie d'une séquence quelconque. On avait déjà eu ça dans un jeu de données. Rennes ? Exemples en pièce jointe (clone.fa-4 c'est pour le patient 527 et clone.fa-18 c'est pour le patient 510).
***
Oui c'était bien Rennes (mail du 18/03/2015, 18h10).
***
La représentative couvre donc mal ces jeux, mais c'est normal. Ce qu'on aimerait c'est récupérer les reads du clone depuis Vidjil :)
***
(écrit il y a deux heures, grr producteev)
On va bien sûr essayer d'améliorer cela, mais on aura toujours des séquences bizarres.
- un filtre côté c++ pour éjecter ces séquences
- + côté browser les warnings
***
hmm… qu'entends-tu par « éjecter ces séquences » ? Si la séquence amont accroche (avec les seuils de e-valeur), a-t-on vraiment envie de la virer ?
***
Il se trouve d'ailleurs qu'au niveau du polyA, la qualité chute dans le FASTQ : c'est le séquenceur qui se tape un délire ?
***
Problème lorsqu'on a un fort taux d'erreur sur R2, même avec la nouvelle heuristique, il y a des cas qui se passent mal :
http://rbx.vidjil.org/browser/index.html?sample_set_id=11808&config=26
http://rbx.vidjil.org/browser/index.html?sample_set_id=11812&config=35 (sur le 2è clone)
***
@magiraud @mikael-s