vidjil issueshttps://gitlab.inria.fr/vidjil/vidjil/-/issues2016-11-29T14:29:58+01:00https://gitlab.inria.fr/vidjil/vidjil/-/issues/968parser .clntab: trouver mieux que -x/-y/-z2016-11-29T14:29:58+01:00Vidjil Teamparser .clntab: trouver mieux que -x/-y/-zok, on aura bientôt les coordonnées (?)
***
Mis le nom compelet du clonotype, Nikos les identifie de cette manière
***
@nobodyok, on aura bientôt les coordonnées (?)
***
Mis le nom compelet du clonotype, Nikos les identifie de cette manière
***
@nobodyhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1349Point non montré2016-11-29T14:35:06+01:00Vidjil TeamPoint non montréSur ce patient en IGH http://rbx.vidjil.org/browser/index.html?patient=66&config=2 on ne voit qu'un point. Or deux ont tourné. Le fichier .data contient les deux points. Vidjil et le fuse semblent avoir tourné sans encombre (/mnt/result/...Sur ce patient en IGH http://rbx.vidjil.org/browser/index.html?patient=66&config=2 on ne voit qu'un point. Or deux ont tourné. Le fichier .data contient les deux points. Vidjil et le fuse semblent avoir tourné sans encombre (/mnt/result/tmp/out-000713//000713.vidjil.log et /mnt/result/tmp/out-000713//000713.fuse.log).
***
je vois deux points chez moi :)
***
effectivement… :-/
Rassure-moi, t'as touché un truc Marc ?
***
@Duezhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/4802Pouvoir affiché plus de clones pour les données de capture2021-05-27T18:07:20+02:00Thonier FlorianPouvoir affiché plus de clones pour les données de captureUn utilisateur avec des données de capture demande à afficher plus de clones. Cela lui est utile puisque dans son cas, il a 390 reads , mais avec 320 clones. On a donc beaucoup de clones avec 1 seul read qui sont cachés de manière semi-a...Un utilisateur avec des données de capture demande à afficher plus de clones. Cela lui est utile puisque dans son cas, il a 390 reads , mais avec 320 clones. On a donc beaucoup de clones avec 1 seul read qui sont cachés de manière semi-aléatoire (reproductible entre 2 lancement; ou entre 2 séquençages ? A priori oui puisque conservé de par la fenêtre).
Une possibilité que je vois est de modifier dans la configuration le top du fuse pour en afficher un seuil plus haut de clonotype. On pourrait utilisé un hack que j'ai déjà testé: on donne un top ex æquo, avec plusieurs occurrence pour un top donné. Ça fonctionne, mais ça n'empêchera pas que beaucoup de clones détériore quand même les performances. (mais moins que par exemple une analyse avec 30 samples).
L'autre point est la limite côté client. Est-il possible d'ajouter une variable dans le fichier vidjil pour repousser le limite de 100 clonotypes ?
cc @magiraud @mikael-shttps://gitlab.inria.fr/vidjil/vidjil/-/issues/3944Pouvoir calculer des distributions2019-09-10T09:03:26+02:00Thonier FlorianPouvoir calculer des distributionsCelles-ci doivent être compatibles avec `stats`. Le calcul se fait depuis `fuse.py`.
Ajout de 2 options:
* -d; calcul les distributions et les incluts dans le fichier vidjil sous l'entrée `distributions`
* -D; génère un fichier json ave...Celles-ci doivent être compatibles avec `stats`. Le calcul se fait depuis `fuse.py`.
Ajout de 2 options:
* -d; calcul les distributions et les incluts dans le fichier vidjil sous l'entrée `distributions`
* -D; génère un fichier json avec uniquement les distributions, compatible directement avec stats (lorsqu'il pourra ouvrir un fichier fournit par l'utilisateur)
Voici la liste actuelle, pour l'instant croisée pour faire toutes les combinaisons possibles. Il faudra, vu la taille et le temps de calcul, probablement évincer celles qui n'ont que peu d'intérêts.
```python
LIST_AXES = ["germline",
"seg5", "seg4", "seg3",
"lenSeqConsensus", "lenSeqAverage", "GCContent", "coverage",
"rearangment", "complete",
"lenSeq",
"seg5_delRight", "seg3_delLeft", "seg4_delRight", "seg3_delLeft",
"insert_53", "insert_54", "insert_43",
"lenCDR3",
"productive",
#"junction_start", "junction_stop",
# "evalue", l'arrondir ?
# "top", # "name"
#"seg5_stop", "seg3_start", "seg4_stop", "seg4_start",
# nbSamples,
# "cdr3_stop", "cdr3_start",
]
```
Testé sur un ensemble de 30 fichiers `--all` (env 30k clones en moyenne):
* génère un fichier de 2,3Go
* Dure 35 minutes
* chaque ajout dans la liste des axes multiplie par 2 le nombre de sortie calculées.https://gitlab.inria.fr/vidjil/vidjil/-/issues/4912Pouvoir creer un fichier de séquences taggées depuis la database2023-06-28T17:34:40+02:00Thonier FlorianPouvoir creer un fichier de séquences taggées depuis la databaseL'idée ici est d'avoir un type de fichier particulier pour les tags. Avoir le moyen de charger un fichier, ou bien de copier/coller des séquences et que cela créé un fichier samples qui sera ajouté au set et analysable. On pourra aussi y...L'idée ici est d'avoir un type de fichier particulier pour les tags. Avoir le moyen de charger un fichier, ou bien de copier/coller des séquences et que cela créé un fichier samples qui sera ajouté au set et analysable. On pourra aussi y mettre des tags et dans son analyse, les clones seront donc automatiquement taggés, visible séparément sur la timeline.
Plusieurs aspects:
- pouvoir créer un fichier depuis un formulaire
- Avoir un format pour que ce fichier intègre les tags
- Que l'algo vidjil lancé avec la même config intègre les tags (déjà le cas ?àhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/3647Pre-/post- options in fuse to implement a post-process2020-12-11T12:32:00+01:00Mathieu GiraudPre-/post- options in fuse to implement a post-processInstead of resolving #3538 (that is ~"!\-hard"), @flothoni proposed a solution with ~"server\-fuse" to implement a post-process and still to be admin-configurable by configs.
A post-process programm is something that takes a `.vidjil` f...Instead of resolving #3538 (that is ~"!\-hard"), @flothoni proposed a solution with ~"server\-fuse" to implement a post-process and still to be admin-configurable by configs.
A post-process programm is something that takes a `.vidjil` file and give back another `.vidjil` file.
We implement two `--pre` and `--post` options to ~"server\-fuse"
- `--pre progname` will lauch `progname in.vidjil in2.vidjil` on each `in.vidjil` input file.
- `--post progname` will lauch `progname out.vidjil out2.vidjil` on the collated `out.vidjil` filehttps://gitlab.inria.fr/vidjil/vidjil/-/issues/2264Problème avec fuse suite à hotfix/analysis_sample_id2017-05-22T15:26:06+02:00Mikaël SalsonProblème avec fuse suite à hotfix/analysis_sample_idLes tests ne passent plus suite à e636f75d et b01dde04 qui ont servi à corriger les tests fonctionnels (#2229) suite à #2176.
Il y a un problème sur [fuse-doc.should_get](tools/tests/fuse-doc.should_get) :
```
15:37:36 ./should-to-tap....Les tests ne passent plus suite à e636f75d et b01dde04 qui ont servi à corriger les tests fonctionnels (#2229) suite à #2176.
Il y a un problème sur [fuse-doc.should_get](tools/tests/fuse-doc.should_get) :
```
15:37:36 ./should-to-tap.sh fuse-doc.should_get
15:37:36 Launching ' python ../fuse.py ../../doc/analysis-example1.vidjil ../../doc/analysis-example2.vidjil; cat fused.vidjil | python ../format_json.py -1 -u'
15:37:36 Traceback (most recent call last):
15:37:36 File "../fuse.py", line 771, in <module>
15:37:36 main()
15:37:36 File "../fuse.py", line 728, in main
15:37:36 jlist_fused = jlist_fused + jlist
15:37:36 File "../fuse.py", line 401, in __add__
15:37:36 obj.d["samples"] = self.d["samples"] + other.d["samples"]
15:37:36 File "../fuse.py", line 102, in __add__
15:37:36 self.d, len(self.d["reads"]),
15:37:36 KeyError: 'reads'
15:37:36 cat: fused.vidjil: No such file or directory
15:37:36 Traceback (most recent call last):
15:37:36 File "../format_json.py", line 15, in <module>
15:37:36 print(json.dumps(json.loads(json_data),
15:37:36 File "/usr/lib/python2.7/json/__init__.py", line 326, in loads
15:37:36 return _default_decoder.decode(s)
15:37:36 File "/usr/lib/python2.7/json/decoder.py", line 366, in decode
15:37:36 obj, end = self.raw_decode(s, idx=_w(s, 0).end())
15:37:36 File "/usr/lib/python2.7/json/decoder.py", line 384, in raw_decode
15:37:36 raise ValueError("No JSON object could be decoded")
15:37:36 ValueError: No JSON object could be decoded
15:37:36 ==> ./fuse-doc.tap
15:37:36
15:37:36
15:37:36 ========================================================================
15:37:36 fuse-doc.should_get failed (0 instead of 1)
15:37:36 e1:"segmented": [335662, 335662, 410124]
```
Cela casse Vidjil-coverage.
cc @magiraudRyan HerbertRyan Herberthttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1345Python 3 pour web2py / web3py2022-06-29T18:49:19+02:00Vidjil TeamPython 3 pour web2py / web3pyweb2py → non pour l'instant, et apparament il ne sont pas prêt de le faire
Il reste `fuse.py` et le reste → mais on en inclut aussi depuis le server, donc attention
Bref bof pour l'instant.
***
web2py, toujours pas de nouvelles là-des...web2py → non pour l'instant, et apparament il ne sont pas prêt de le faire
Il reste `fuse.py` et le reste → mais on en inclut aussi depuis le server, donc attention
Bref bof pour l'instant.
***
web2py, toujours pas de nouvelles là-dessus : https://groups.google.com/forum/#!topic/web2py/UKcWKU66qnA
(pour info, Algomus passe en python3, après 2 ans de tergiversations)
https://gitlab.inria.fr/vidjil/vidjil/-/issues/1608python, import et modules2022-06-20T11:10:58+02:00Vidjil Teampython, import et modulesDernier mail de P. Wu :
File "fuse.py", line 37, in <module>
from utils import *
ImportError: No module named utils
Je ne sais pas si cela vient de cela, mais avons-nous besoin d'une meilleure architecture python ? Actuellement, de...Dernier mail de P. Wu :
File "fuse.py", line 37, in <module>
from utils import *
ImportError: No module named utils
Je ne sais pas si cela vient de cela, mais avons-nous besoin d'une meilleure architecture python ? Actuellement, des scripts sont dans germline, tools, et algo/tests. Mais on aimerait pouvoir faire des import dans tous les sens.
Faut-il faire un module quelque part (juste un __init__.py ?) et que cela marche sans installation ?
***
@nobodyhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1949Quand on a le choix entre plusieurs points, choisit-on vraiment la représenta...2019-08-20T10:39:36+02:00Vidjil TeamQuand on a le choix entre plusieurs points, choisit-on vraiment la représentative la plus pertinente ?Sur ce patient : http://rbx.vidjil.org/browser/index.html?patient=2206&config=26
La représentative affichée pour le 2è clone au diagnostic est une séquence de 112bp. Il s'agit de la séquence trouvée au premier point de suivi (et non au d...Sur ce patient : http://rbx.vidjil.org/browser/index.html?patient=2206&config=26
La représentative affichée pour le 2è clone au diagnostic est une séquence de 112bp. Il s'agit de la séquence trouvée au premier point de suivi (et non au diag). Pourquoi est-elle prise ? Car ce clone est le top 1 au fu1, alors qu'il est top 2 au diag. Mais le fu1 est très peu segmenté et donc ce top 1 représente 91 reads au fu1 contre plus de 20 000 au diag.
Devrait-on prendre la représentative du point avec le plus de reads ? avec la représentative la plus longue ?
***
0d40d04 point avec le plus de reads
***
Tâche rouverte, le commit a été réverté (8d6525b)
***
@Duez @RyanHerb @mikael-s @magiraudhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1523Quatre fichiers de résultats (sur une même config) mais seulement deux fichie...2017-07-10T17:01:29+02:00Vidjil TeamQuatre fichiers de résultats (sur une même config) mais seulement deux fichiers fusésPatient 394 (chercher rna-s dans le filtre) et consulter les résultats. J'ai relancé un vidjil hier pour regénérer le fuse mais le fuse ne se fait que sur deux fichiers.
***
>082071
le fuse essayait d'utiliser les 4 premiers results file...Patient 394 (chercher rna-s dans le filtre) et consulter les résultats. J'ai relancé un vidjil hier pour regénérer le fuse mais le fuse ne se fait que sur deux fichiers.
***
>082071
le fuse essayait d'utiliser les 4 premiers results file produit (dont 2 ont fail et n'avaient pas de resultat)
***
@Duezhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/867raisons de non segmentation2016-11-29T14:28:34+01:00Vidjil Teamraisons de non segmentationrécupérer les raisons de non segmentation et les afficher dans le browser
- info SEG+/SEG-
- pour chaque point
***
ajout des infos de segmentation dans les pages d'infos "I" des clones et des timepoints
***
Il y a un souci avec "seg_stat...récupérer les raisons de non segmentation et les afficher dans le browser
- info SEG+/SEG-
- pour chaque point
***
ajout des infos de segmentation dans les pages d'infos "I" des clones et des timepoints
***
Il y a un souci avec "seg_stat" dans fuse.py. Temporairement ignoré pour que le fuse.py fonctionne (a750e25).
***
a priori le fuse et l'affichage fonctionne désormais
***
#868, #869, #870
***
@Duezhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/3154Récupérer des infos des pré-process : mécanisme2021-10-07T16:17:55+02:00Mathieu GiraudRécupérer des infos des pré-process : mécanismeVoir #2875 et #2247.
Chaque ~"server-pre-process" pourrait générer un `.json` comme le `.vidjil` (mais sans section `clones` ni ...).
Avec en particulier des warnings #2247 et des variables de qualité #2875.Voir #2875 et #2247.
Chaque ~"server-pre-process" pourrait générer un `.json` comme le `.vidjil` (mais sans section `clones` ni ...).
Avec en particulier des warnings #2247 et des variables de qualité #2875.https://gitlab.inria.fr/vidjil/vidjil/-/issues/1221récupérer les germlines custom depuis les .data, et s'en servir dans le browser2016-11-29T14:33:25+01:00Vidjil Teamrécupérer les germlines custom depuis les .data, et s'en servir dans le browserMarc a bien fait de stocker les germlines custom dans le .data. Il reste à ce servir de cette info :)
***
Marc, dans le c++, tu peux trouver les noms de fichiers dans germline->f_reps_[345].
Il peut y avoir plusieurs fichiers pour le V (...Marc a bien fait de stocker les germlines custom dans le .data. Il reste à ce servir de cette info :)
***
Marc, dans le c++, tu peux trouver les noms de fichiers dans germline->f_reps_[345].
Il peut y avoir plusieurs fichiers pour le V (le D, le J).
***
c++ output custom germline >> 8bee7be387dafb634b
js load custom germline >> 941126bade392549f
***
Super !
Cela marche effectivement sur rbx (voir UPNT 14-08)
... j'ai du cependant éditer le fichier "fused" à la main pour ne laisser qu'un bloc custom.
On va faire d'abord simple, supposer que tous les customs sont identiques (idéalement le vérifier) et garder le premier.
***
#1222, #1223, #1224
***
@Duezhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1029Réécrire fuse.py : .py, node.js, .js, c++ ?2023-06-29T14:41:59+02:00Vidjil TeamRéécrire fuse.py : .py, node.js, .js, c++ ?https://gitlab.inria.fr/vidjil/vidjil/-/issues/1021Rentrer des .clntab directement dans le browser2016-11-29T14:30:42+01:00Vidjil TeamRentrer des .clntab directement dans le browserLes utilisateurs doivent pouvoir visualiser des .clntab.
Politiquement important.
Avant de coder, il faut qu'on en discute ensemble.
***
On avait dit : DB = patients.
Mais une visualisation "à la Nikos" peut avoir plusieurs patients / l...Les utilisateurs doivent pouvoir visualiser des .clntab.
Politiquement important.
Avant de coder, il faut qu'on en discute ensemble.
***
On avait dit : DB = patients.
Mais une visualisation "à la Nikos" peut avoir plusieurs patients / labs / ... : comment gérer cela ?
- Ne pas utiliser la DB et faire directement charger le fichier ?
(éventuellement avec un coup de server qui fait fuse.py)
- Ou bien prévoir de pouvoir stocker cela dans la DB ?
À discuter ensemble.
***
On le fait pas tout de suite, quand aura le serveur on pourra déjà stocker des .clntab directement
***
ok avec le serveur
***
@Duezhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/5105Run multiple pre/post fuse process in the same time2023-03-02T17:14:28+01:00Thonier FlorianRun multiple pre/post fuse process in the same timeAdd a way to make call to multiple script for prefuse/postfuse.Add a way to make call to multiple script for prefuse/postfuse.https://gitlab.inria.fr/vidjil/vidjil/-/issues/2790Samples dans plusieurs sample sets et .analysis : documenter2017-11-17T13:30:45+01:00Mathieu GiraudSamples dans plusieurs sample sets et .analysis : documenterUn sample est dans un patient et un run.
Je mets un clone en rouge dans le patient (ou je merge des clones, ou je renomme un clone). Que devient-il dans le run ? Et après un nouveau fuse éventuel du run ?
Je sais qu'on en avait déjà dis...Un sample est dans un patient et un run.
Je mets un clone en rouge dans le patient (ou je merge des clones, ou je renomme un clone). Que devient-il dans le run ? Et après un nouveau fuse éventuel du run ?
Je sais qu'on en avait déjà discuté et décidé quand @RyanHerb et Marc avaient mis en place les sample sets. Il faut peut-être juste bien expliquer ce qu'il se passe et le documenter.
cc @RyanHerb @flothonihttps://gitlab.inria.fr/vidjil/vidjil/-/issues/990Séparer le clone virtuel "other" en plusieurs paquets2019-10-29T14:41:50+01:00Vidjil TeamSéparer le clone virtuel "other" en plusieurs paquets- other-1-9 (les clones qui ont entre 1 et 9 reads)
- other-10-99
- …
ou bien une autre manière, par rapport à la concentration ?
but: voir si les clones "bruit de fond" sont différents ou pas. Si intéressant, on le met sur les 10 c...- other-1-9 (les clones qui ont entre 1 et 9 reads)
- other-10-99
- …
ou bien une autre manière, par rapport à la concentration ?
but: voir si les clones "bruit de fond" sont différents ou pas. Si intéressant, on le met sur les 10 courbes de l'article
fait pour ~fus
Modifier le test `algo/tests/stanford-fuse.should_get` en conséquence
Évoqué avec ~"repseq-Nikos" au téléphone, à voir si cela mène à quelque chose.
@Duezhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/989Séparer les "smaller clones" par locus2016-11-29T14:30:17+01:00Vidjil TeamSéparer les "smaller clones" par locusSortir un clone other par système
--
Mathieu Giraud - http://www.lifl.fr/~giraud
CNRS, LIFL, Université Lille 1, Inria Lille, France
***
Priorité remontée, c'est important pour Necker.
***
model_loader.js:283 → un clone virtuel est ajo...Sortir un clone other par système
--
Mathieu Giraud - http://www.lifl.fr/~giraud
CNRS, LIFL, Université Lille 1, Inria Lille, France
***
Priorité remontée, c'est important pour Necker.
***
model_loader.js:283 → un clone virtuel est ajouté. Il en faudrait un par système.
Peut-être stocker en plus dans le modèle un dictionnaire « smallerClones » donnant, en fonction du locus, les clones virtuels ainsi crées.
model.js, computeOtherSize → c’est là qu’on calcule sa taille
(Et pour l’instant on y accède avec « this.clones.length - 1 », ce sera bien plus propre avec un parcours du dictionnaire smallerClones)
list.js → un point de détail : on ne veut pas ensuite afficher les « smaller clones » qui seraient à 0 reads (il peut y en avoir beaucoup en multi-locus)
ligne 606, le test est sur this.m.clone(list[i]).isVirtual(), il faudrait aussi regarder leur taille
bon courage !
***
Coucou Florian,
Cela avance bien !
Il y a encore des surprises : lorsqu'on clique sur les "locus" en haut à gauche pour afficher / masquer certains locus (essaie par exemple sur Demo LIL-L4). Cela fonctionnait sur b069b16, et cela ne fonctionne plus avec tes derniers commits.
***
Tu parles des pourcentage à plus de 10000 ?
Ah oui, c'est nouveau.
Je vais regarder ça.
PS : ah, si je regarde sur demo, je ne peux même pas sélectionner les germlines en fait.
Ça fait 2 bugs donc.
***
corrigé par ac2f214 et 9f75321. Les grosses tailles étaient juste pour les systèmes non affichés.
Mis sur le serveur de production.
***
@flothoni