vidjil issueshttps://gitlab.inria.fr/vidjil/vidjil/-/issues2017-11-29T15:52:50+01:00https://gitlab.inria.fr/vidjil/vidjil/-/issues/1651Estimer K/lambda pour le FineSegmenter: ALP ?2017-11-29T15:52:50+01:00Vidjil TeamEstimer K/lambda pour le FineSegmenter: ALP ?cost::toPvalue() devrait calculer une p-valeur.
Même calcul que Blast, avec estimation K et lambda ? Autre chose ?
***
Voir ALP (utilisé par SortMeDNA) : http://www.ncbi.nlm.nih.gov/CBBresearch/Spouge/html_ncbi/html/software/program.html...cost::toPvalue() devrait calculer une p-valeur.
Même calcul que Blast, avec estimation K et lambda ? Autre chose ?
***
Voir ALP (utilisé par SortMeDNA) : http://www.ncbi.nlm.nih.gov/CBBresearch/Spouge/html_ncbi/html/software/program.html?uid=6
***
d0246c4: K/lambda, mais pas d'estimation
***
ping. Ne pas oublier que nos K/lambda sont un peu olé-olé... cela doit se sentir encore plus pour les Ds.
***
@magiraud @mikael-shttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1647Surveiller périodiquement les erreurs / tickets sur le serveur + nettoyer2024-01-19T18:42:33+01:00Vidjil TeamSurveiller périodiquement les erreurs / tickets sur le serveur + nettoyerJe viens de faire une passe sur les tickets de juin 2015. J'ai supprimé tous les tickets qui me semblent être résolus (ou au moins pour lesquels il y a un message d'erreur maintenant plus explicite, qui sera en log.error()) et donc qui a...Je viens de faire une passe sur les tickets de juin 2015. J'ai supprimé tous les tickets qui me semblent être résolus (ou au moins pour lesquels il y a un message d'erreur maintenant plus explicite, qui sera en log.error()) et donc qui apparaitront dans le log et non pas en erreur serveur.
On devrait le faire peut-être plus systématiquement :-)
***
Fait aussi manuellement pour mai, et pour 15-30 avril. -> depuis le 15 avril, il reste moins de 10 tickets sans explication
En passant, je suis tombé sur *beaucoup* d'erreurs venant directement de nos tests (moi y compris). Quand on n'est pas propre et qu'on provoque des erreurs sur le serveur (hum...)... on doit ensuite effacer sa forfaiture dans les erreurs :-)
Pour les trucs plus vieux, j'ai tout simplement... supprimé. Rien ne sert d'avoir des tickets si on ne les regarde pas, et cela gène la "vue par exception" si on a des vieux trucs qui n'arrivent pas.
***
Pas beaucoup d'erreurs en oct/nov 2015.
Juste "patients.py: can't compare datetime.date to NoneType" qui revient de temps en temps.
***
Ormis les erreurs de taille de fichier, ou d'indispo de BDD, les erreurs qui semblent revenir sont:
Une (ou des) délétion(s) de patients qui n'existent pas (=> mettre un controle)
can't compare datetime.date to NoneType
***
merci Ryan d'avoir regardé cela !
***
De rien. Je n'ai pas encore nettoyé les tickets car je ne savais pas si quelqu'un voudrait faire une passe dessus :)
***
@magiraud @RyanHerb @mikael-s @DuezRyan HerbertRyan Herbert2024-03-01https://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/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/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/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-shttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1521Avoir un moyen, depuis le serveur, de signaler un m.wait()2020-12-11T13:08:01+01:00Vidjil TeamAvoir un moyen, depuis le serveur, de signaler un m.wait()Le message m.wait() est le bienvenu pour load_custom_data.
On aimerait aussi l'afficher pour certaines opérations serveur (par exemple, liste des compare_patient, génération des stats, ou d'autres trucs qui pourraient être longs...)
Bre...Le message m.wait() est le bienvenu pour load_custom_data.
On aimerait aussi l'afficher pour certaines opérations serveur (par exemple, liste des compare_patient, génération des stats, ou d'autres trucs qui pourraient être longs...)
Bref, mettre tout simplement un argument optionnel à db.call() pour lui dire d'afficher un message ?
***
@nobodyhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1507Mise en cache des requêtes, séparation requêtes affichage / droits2019-12-06T15:30:39+01:00Vidjil TeamMise en cache des requêtes, séparation requêtes affichage / droitsOptimiser les requêtes c'est bien, mais plus simplement est-ce que les mettre en cache ne suffirait pas à obtenir un gros gain de performance ?
cf. http://web2py.com/books/default/chapter/29/06/the-database-abstraction-layer#Caching-sele...Optimiser les requêtes c'est bien, mais plus simplement est-ce que les mettre en cache ne suffirait pas à obtenir un gros gain de performance ?
cf. http://web2py.com/books/default/chapter/29/06/the-database-abstraction-layer#Caching-selects
***
Intéressant. à voir comment on combine cela avec des modifs de la DB : un flag provenant du .js qui dit si l'utilisateur a modifié des choses ?
et peut-on utiliser `cacheable=True` indépendamment de cache, et est-ce que cela va plus vite ? Sur la liste des patients, on ne se sert des Row que comme affichage, pas comme modif.
***
ping
***
@Duez @RyanHerb @mikael-shttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1486BCL1 / JH2016-11-29T14:36:57+01:00Vidjil TeamBCL1 / JHhttp://catalog.invivoscribe.com/viewproductgroup.cfm?catId=39
***
Cédric est (très) intéressé.
***
Primer Biomed-2 pour BCL1 : GGATAAAGGCGAGGAGCATAA
***
@magiraud @mikael-shttp://catalog.invivoscribe.com/viewproductgroup.cfm?catId=39
***
Cédric est (très) intéressé.
***
Primer Biomed-2 pour BCL1 : GGATAAAGGCGAGGAGCATAA
***
@magiraud @mikael-shttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1485BCL2 / JH2019-04-03T15:41:17+02:00Vidjil TeamBCL2 / JHmerci Nathalie !
Elle doit nous envoyer une ref, on peut parier que c'est http://www.nature.com/leu/journal/v14/n9/full/2401889a.html
Lymphomes
***
BCL2.fa
MBR 1,2
MCR 1,2,3
5'MCR
***
- germlines mises sur rbx
- test de BCL2.fa ...merci Nathalie !
Elle doit nous envoyer une ref, on peut parier que c'est http://www.nature.com/leu/journal/v14/n9/full/2401889a.html
Lymphomes
***
BCL2.fa
MBR 1,2
MCR 1,2,3
5'MCR
***
- germlines mises sur rbx
- test de BCL2.fa (en gros les primers) négatif : après avoir tout relancé sur toutes les séquences du serveur, seulement 3 patients avec > 1% segmenté (BCL2/bcl2-more-than-1-percent.log), vérification manuelle, non, faux positifs, on reste sur Chr14 (mais recombinaisons bizarres dans locus IGH)
- mais... est-ce que BCL2.fa était la bonne germline ? prendre plutôt en amont/aval ? (essayé aussi avec BCL2-complete.fa, mais là trop gros, 200kb)
***
- et est-ce qu'on est censé trouver du BCL2 sur les séquences du serveur ? J'imagine oui, au moins en capture
***
Primers Biomed-2 : il y a plusieurs jeux de primers (dans l'exon 3 et en aval de celui-ci)
***
On peut avoir BCL2/JH ou IGH/BCL2. Le point de cassure n'est pas à position fixe.
***
Prendre les 6 séquences de Sarah et essayer de faire un .should-vdj avec...
Mais bon, pas si important que cela si on n'y arrive pas.
***
Rando 2016: Florian s'y met (ou s'y mettra à Rennes). merci !
***
@flothonihttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1437Spécificité / P-value / E-value d'une recombinaison2019-09-16T16:58:45+02:00Vidjil TeamSpécificité / P-value / E-value d'une recombinaisonPrend en compte nb de délétions, mutations V/J, N... Normalement cela devrait se voir dans les scores de FineSegmentation.
Détecter ces probabilités depuis nos jeux de données (mais cela suppose d'avoir des segmentations VDJ de référe...Prend en compte nb de délétions, mutations V/J, N... Normalement cela devrait se voir dans les scores de FineSegmentation.
Détecter ces probabilités depuis nos jeux de données (mais cela suppose d'avoir des segmentations VDJ de référence...)
Lien avec génération aléatoire.
Faire cela dans notre coin ? Mettre quelqu'un dans la boucle ? (Laurent ?)
***
De manière empirique, pas nécessairement besoin de segmentations VDJ de réf. Ne peut-on pas le faire directement depuis les fenêtres ? On sait où est censé se terminer le V et commencer le J. Et donc on peut retrouver si on trouve une fenêtre à distance 0 ou 1.
Et si on va sur la génération aléatoire, le problème est la probabilité qu'on affecte à des délétions, insertions (et cela dépend des chaînes et des récepteurs, la dTd et la bouffeuse de nucléotides ne sont pas aussi actives partout). Ou alors on part de nos données, mais là pour le coup on a besoin de segmentations VDJ de références.
***
On en parle donc un jour avec Laurent. Voir quand.
***
On a donc maintenant une e-valeur d'une découpe left/right, mais la question reste toujours ouverte pour une recomb VDJ, à partir d'exemples, d'estimer les paramètres. On en avait aussi parlé avec Nikos.
***
(copié depuis tâche "Taille de fenêtre en multi-système") Si on a un V/J collé avec 0 zone de N, ce sera très limite même avec une fenêtre de taille 100 :-) On doit mettre un gros warning dessus, et permettre de revenir sur les reads.
***
Remonté, car l'heuristique peut regrouper des choses curieuses si la fenêtre n'est pas spécifique. (mais bon, contrôle par le coverage ?). Devient légèrement différent : quelle est la P/E-valeur d'une fenêtre ?
- compter les N (après Fine Segmenter)
- un bidule dans le FineSegmenter qui compte en plus les mutations de la fenêtre
- ... ou bien un truc magique à base de k-mers (y compris des D) ?
(Voir par exemple notable/0481)
***
euh... on maintenant a un warning si faible e-valeur ?
toujours d'actualité ?
***
Cela a été fait très sérieusement par Thierry Mora et Aleksandra Walczak
-> Quantifying lymphocyte receptor diversity
http://arxiv.org/abs/1604.00487
***
Et il y a un article qui utilise cela pour calculer la p-value de clones identifiés au diag : http://www.nature.com.sci-hub.cc/bmt/journal/vaop/ncurrent/full/bmt2016148a.html « Reliability of immune receptor rearrangements as genetic markers for minimal residual disease monitoring »
***
@magiraud @mikael-shttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1171Tous les ans, mettre à jour les librairies .js2022-04-22T08:29:40+02:00Vidjil TeamTous les ans, mettre à jour les librairies .jsEt d'autres librairies si besoin...
S'assurer que `browser/js/lib/info.txt` est à jour
***
Marc, 9a8c272d6 (septembre 2014) :
* d3js updated
* jquery updated (use jquery 2)
* jquery.form updated
* jspdf updated
* canvg ...Et d'autres librairies si besoin...
S'assurer que `browser/js/lib/info.txt` est à jour
***
Marc, 9a8c272d6 (septembre 2014) :
* d3js updated
* jquery updated (use jquery 2)
* jquery.form updated
* jspdf updated
* canvg removed (never used)
* less.js removed (we don't compil css in the browser anymore)
***
merci !
***
Ping. Cela fait presque 18 mois que certaines librairies n'ont pas été mises à jour. On peut vivre avec, mais...
***
Marc, est-ce que c'est quelque chose que tu pourrais faire avant ton départ ? Merci.
***
@Duez2016-12-12https://gitlab.inria.fr/vidjil/vidjil/-/issues/1009Voir les séquences manquantes par rapport à un fichier d'intérêt2020-12-11T12:55:06+01:00Vidjil TeamVoir les séquences manquantes par rapport à un fichier d'intérêt
***
#1007
***
#1007https://gitlab.inria.fr/vidjil/vidjil/-/issues/1008Nommer des séquences d'intérêt (super utile pour pool de patients, pour stand...2021-11-19T11:06:57+01:00Vidjil TeamNommer des séquences d'intérêt (super utile pour pool de patients, pour standards, pour clones connus)
***
#1007
***
#1007https://gitlab.inria.fr/vidjil/vidjil/-/issues/1007Uploader un fichier FASTA avec des séquences d'intérêt, les nommer, identifie...2020-12-11T12:55:06+01:00Vidjil TeamUploader un fichier FASTA avec des séquences d'intérêt, les nommer, identifier les manquantesPlutôt que d'avoir un fichier .analysis contenant des fenêtres à mettre en valeur, on pourrait avoir des séquences complètes à mettre en valeur. À l'interface de chercher si elle trouve des fenêtres connues dans les séquences d'intérêt. ...Plutôt que d'avoir un fichier .analysis contenant des fenêtres à mettre en valeur, on pourrait avoir des séquences complètes à mettre en valeur. À l'interface de chercher si elle trouve des fenêtres connues dans les séquences d'intérêt. Ça éviterait de devoir rentrer les fenêtres dans les fichiers .analysis (qui peuvent changer avec des modifs dans l'algo) et ça permet de traîter directement les séquences d'intérêt que nous donnent nos amis bios.
***
scénario : on a un fichier fasta donnant des clones connus pour des patients, pour des standards, et on veut le visualiser rapidement
voir déjà vdj/progs/utils/generate-analysis.py fait par Mikaël (ece856d)
il faudrait faire cela directement dans l'interface, et voir les séquences manquantes par rapport au fichier fourni
***
être aussi capable d'afficher complètement cette séquence dans l'aligneur
***
ces séquences doivent passer au fuse.py, malgré le top
***
À discuter ensemble.
Solution 1:
- server : transformer le .fa en fichier de labels
- c++ : prend ce fichier (-l, existe déjà), marque les séquences ("top: 0" marcherait out-of-the box, mais crade, disons "label")
- fuse.py : traite spécialement les clones "label"
Solution 2:
- server: transformer ce fichier en .analysis (certains
- pas de modif c++
- fuse.py : prend un .analysis en plus, et tient compte de ce qu'il y a dedans
La solution 1 est la plus simple, mais la 2 permettrait de renforcer le rôle central d'un fichier ".analysis" (et on pourrait presque avoir un fuse.py qui fusionnerait deux .analysis).
Dans les deux cas :
- browser : afficher les séquences manquantes
***
Il y avait une tâche doublon "Conserver les séquences d'intérêt dans le fuse" :
- Soit avoir un tag dans le fichier clntab ou data disant qu'on veut conserver la séquence
- Soit avoir un fichier FASTA contenant les séquences d'intérêt à conserver
***
Les deux solutions demandent de toute façon de lancer le c++ sur le .fa pour récupérer les fenêtres. Autant le faire comme pour les autres fichiers.
Solution mixte proposée :
- server : pouvoir rentrer un fichier .fa spécial (soit faire une boite dédiée à cela, soit rajouter un champ aux fichiers .fasta pour qu'ils soient tous soit "reads" soit "known clones")
- c++ : lancé sur le .fa spécial, avec -y all -z all + un flag faisant qu'il prend le nom des fichiers fasta comme "name" dans le .vidjil (et sort "top: 0", ou, mieux, un nouveau flag ?)
- c++ : lancé sur les n fichiers de reads, comme d'habitude
- fuse : prend tous ces .vidjil (mais différencie les "known clones" des "reads")
- browser :devra aussi indiquer les manquantes
***
remarque de Mikaël : il peut y avoir des N dans séquences données.
Bref, la prédiction de fenêtre ne sera peut-être pas la bonne méthode, plutôt une recherche a posteriori comme dans vdj/progs/utils/generate-analysis.py
À rediscuter encore.
***
évoqué aussi hier avec Rennes... Alice a des séquences identifiées comme à enlever, on ne veut pas le faire manuellement...
Déjà si cela taggait automatiquement, ce serait bon.
N'est-ce pas proche de charger un fichier .analysis ?
***
Rando 2016: Marc voit comment faire cela simplement en transformant (côté client ? serveur ?) le fichier FASTA en fichier .analysis.
***
Limite : si la séquence d'intérêt n'est pas dans le top 100 on ne la verra pas (cf. mail de Jona 21/09/2016)
***
#1008, #1009
***
@Duez