vidjil issueshttps://gitlab.inria.fr/vidjil/vidjil/-/issues2021-01-11T15:25:03+01:00https://gitlab.inria.fr/vidjil/vidjil/-/issues/4630C++20 ?2021-01-11T15:25:03+01:00Mathieu GiraudC++20 ?Il semblerait que C++20 a eu bien plus d'évolutions que ce qui était pour C++14 et C++17.
Voir https://github.com/AnthonyCalandra/modern-cpp-features
Est-ce que certaines fonctionnalités de ces 9 dernières années seraient utiles dans n...Il semblerait que C++20 a eu bien plus d'évolutions que ce qui était pour C++14 et C++17.
Voir https://github.com/AnthonyCalandra/modern-cpp-features
Est-ce que certaines fonctionnalités de ces 9 dernières années seraient utiles dans notre code ~cpp ? En particlier les concepts ? Des choses sur des lambda ? Et `popcount` est désormais dans `std` :)
Rien ne presse. Pour mémoire, nous avons basculé vers C++11 en... 2015, pour pouvoir utiliser `CLI11` #1344.https://gitlab.inria.fr/vidjil/vidjil/-/issues/4621Productivité et codon start et autres éléments2021-01-05T10:53:05+01:00Mathieu GiraudProductivité et codon start et autres élémentsDepuis #3569, https://docs.airr-community.org/en/stable/datarep/rearrangements.html#productive :
> No defect in the start codon, splicing sites or regulatory elements.
Est-ce quelque chose que l'on pourrait regarder ? Une référence pr...Depuis #3569, https://docs.airr-community.org/en/stable/datarep/rearrangements.html#productive :
> No defect in the start codon, splicing sites or regulatory elements.
Est-ce quelque chose que l'on pourrait regarder ? Une référence précise chez ~"repseq-IMGT" ou ailleurs ?https://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
***
@Duezhttps://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/4600Réflexion sur l'ensemble du client, page blanche, nouvelles vues2020-12-04T22:17:28+01:00Mathieu GiraudRéflexion sur l'ensemble du client, page blanche, nouvelles vuesDiscuté lors de la réunion ~"+-roadmap" cc @flothoni @duez.
Si Vidjil n'exisitait pas, que faudrait-il concevoir pour répondre aux besoins des usagers en hémato et en client ?
En partant d'une page blanche, que pourrions-nous imaginer ?
...Discuté lors de la réunion ~"+-roadmap" cc @flothoni @duez.
Si Vidjil n'exisitait pas, que faudrait-il concevoir pour répondre aux besoins des usagers en hémato et en client ?
En partant d'une page blanche, que pourrions-nous imaginer ?
Au final, cette réflexion *pourrait* donner lieu à de nouvelles vues
(comparaison répertoires, beaucoup échantillons, tables...) ou à d'autres changements.
Voir #2245, #4139, #1975, #4165, #2589, #4180, #1887...
Brainstorming à faire, par exemple en février ou mars 2021.2021-03-04https://gitlab.inria.fr/vidjil/vidjil/-/issues/4180Nouvelle vue dessinant les chromosomes et les locus2020-12-04T14:19:03+01:00Mathieu GiraudNouvelle vue dessinant les chromosomes et les locusÉvoqué avec @mikael-s et @duez
Probablement mauvaise idée ~"wont-fix": avoir une vue où serait dessinés les locus sur les chromosome, type figures des publis Biomed 2, pour mieux réaliser d'un coup d'oeil sur quels chromosomes/locus se ...Évoqué avec @mikael-s et @duez
Probablement mauvaise idée ~"wont-fix": avoir une vue où serait dessinés les locus sur les chromosome, type figures des publis Biomed 2, pour mieux réaliser d'un coup d'oeil sur quels chromosomes/locus se sont passés les recombinaisons.
(En utilisant les dessins qui auraient du être fait il y a quelques temps par un graphiste ?)
Mais comment représenter les recombinaisons ? Des points/bars à des positions ?
#3192 (et #1887) sont probablement plus réalisables.https://gitlab.inria.fr/vidjil/vidjil/-/issues/2589Nouvelle vue pour remplacer getHTMLinfo(), information d'un clone responsif2020-12-04T14:18:26+01:00Mathieu GiraudNouvelle vue pour remplacer getHTMLinfo(), information d'un clone responsifVu à Douai : la boîte info d'un clone (`.info-container`) n'est pas responsive, en particulier si on enlève les bandeaux de gauche. Mettre directement cela comme une vue de ~"vmi-responsive" ?
Discussion : cela pourrait être même une v...Vu à Douai : la boîte info d'un clone (`.info-container`) n'est pas responsive, en particulier si on enlève les bandeaux de gauche. Mettre directement cela comme une vue de ~"vmi-responsive" ?
Discussion : cela pourrait être même une vue au sens Vidjil. À voir ce que cela pourrait être si plusieurs clones sont sélectionnés.https://gitlab.inria.fr/vidjil/vidjil/-/issues/1887Nouvelle vue, grid avec tous les locus / résumé2020-12-04T14:17:28+01:00Vidjil TeamNouvelle vue, grid avec tous les locus / résuméProposition pour une vue "Summary, by locus" où on voit tous les locus, fichier ci-dessous.
Cliquer sur un locus fait basculer dans la vue grid normale avec ce locus.
Dans un premier temps, on peut voir toutes les bulles juste en vrac.
...Proposition pour une vue "Summary, by locus" où on voit tous les locus, fichier ci-dessous.
Cliquer sur un locus fait basculer dans la vue grid normale avec ce locus.
Dans un premier temps, on peut voir toutes les bulles juste en vrac.
Mais on pourrait aussi voir un "mini-scatterplot", comme sur le `TRA` (on ne voit pas les axes, mais on se doute qu'il y a deux paquets).
Les rectangles ne doivent pas être visible, ils montrent juste ce qui peut être regroupé pour que cela tienne tout seul sur 1 ligne ou 2.
Enfin, on verra ce qu'on mettra dans la liste des valeurs (reads, clone, ...). On n'est pas obligé d'avoir la légende, un tooltip pourrait suffire ?
***
Il y a beaucoup de nombres, ce n'est pas parsable très facilement. Avoir la vue en histo pour montrer le nombre de reads, clones par système ? Plus une courbe pour montrer un indice de diversité ?
***
On peut déjà faire une vue plot (ou bar): `x` = locus, `y` = autre chose (comme size ou...) Mais ce n'est pas très sexy.
L'idée est d'avoir un endroit avec une vue globale. Et de limiter effectivement les nombres à ce qu'on pense le plus important (voire à remplacer les nombres par un truc visuel). Mais peut-être que certaines personnes voudraient voir d'autres informations (par ex le % de productif). Autres propositions bienvenues.
courbe + indice de diversité : voir #1783. Par contre, une courbe avec l'axe `x` qui serait les locus serait confus (pour l'instant on ne fait que des courbes sur le time graph, voir nouvelle tâche)
***
@RyanHerb @Duezhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/3721Mécanisme plus souple d'affichage dans getHtmlInfo de clone.js2020-12-04T14:13:40+01:00Mikaël SalsonMécanisme plus souple d'affichage dans getHtmlInfo de clone.jsDans #3717 on a un problème pour afficher les résultats de CloneDB dans l'ordre qu'on souhaiterait (et même, plus généralement, les afficher de manière peut-être plus souple).
Le code qui gère cela dans `getHtmlInfo` est :
```javascript...Dans #3717 on a un problème pour afficher les résultats de CloneDB dans l'ordre qu'on souhaiterait (et même, plus généralement, les afficher de manière peut-être plus souple).
Le code qui gère cela dans `getHtmlInfo` est :
```javascript
html += header("Results of "+other_infos[external_tool])
for (var item in this.seg[external_tool]) {
if (! (this.seg[external_tool][item] instanceof Object) &&
! (this.seg[external_tool][item] instanceof Array)) {
html += row_1(item, this.seg[external_tool][item])
}
}
```
On itère sur les propriétés de l'objet `this.seg[external_tool]`, et il n'y a pas de garantie sur l'ordre de l'itération.
Avant de faire le `for` on pourrait tester si l'objet possède une méthode `toHTML()` et le cas échéant y faire appel.
Dans ce cas pour les résultats de CloneDB on pourrait faire une méthode `toHTML` qui s'occupe de trier les résultats en fonction de leur sample sets.https://gitlab.inria.fr/vidjil/vidjil/-/issues/4139Nouvelle vue dédiée à l'affichage de beaucoup de samples2020-12-04T13:51:17+01:00Mathieu GiraudNouvelle vue dédiée à l'affichage de beaucoup de samplesDepuis #4105 :
> À terme, il faudra une autre ~"client-views" dédiée à cela.
On fait pour l'instant des choses pour améliorer le ~"client-graph" actuel, mais se poser les questions de ce que l'on veut si on a 50, 100, 500+ échantillons...Depuis #4105 :
> À terme, il faudra une autre ~"client-views" dédiée à cela.
On fait pour l'instant des choses pour améliorer le ~"client-graph" actuel, mais se poser les questions de ce que l'on veut si on a 50, 100, 500+ échantillons, ce qui pourrait arriver avec single cell #3233 ou autres. Ne pas recréer ~"app-stats" non plus :)https://gitlab.inria.fr/vidjil/vidjil/-/issues/2245Réflexion sur les zones dans le client et l'indépendance des vues2020-12-04T13:51:16+01:00Mathieu GiraudRéflexion sur les zones dans le client et l'indépendance des vuesRegardons les différentes zones du client.
![layout-current](/uploads/e68cc06e63c6e47c5144104fb3cfefb9/layout-current.jpg)
- Il y a un mélange des genres en haut de la liste : `+/-` et `sort` concernent la liste, `search` et `x` co...Regardons les différentes zones du client.
![layout-current](/uploads/e68cc06e63c6e47c5144104fb3cfefb9/layout-current.jpg)
- Il y a un mélange des genres en haut de la liste : `+/-` et `sort` concernent la liste, `search` et `x` concernent le modèle
- `(focus)` et `(hide)` sont très liés à `search` et `x`
- La barre d’état / zone `:hover` est finalement peu utilisée
- `merge` est une des rares actions qui a un effet permanent sur le modèle. Ce n'est pas lié au segmenteur, mais on fait quand même très souvent `align` puis `merge`
- En tout cas tous les boutons `align` / `merge` / `> to *` concernent tous les clones sélectionnés (et même `▼` pour IMGT n'est pas vraiment lié au segmenteur mais complète le modèle)
- Le `plot` du scatterplot est bien placé, dans sa vue (et permet #2244), tout comme aussi le `...` du graphe.
Réfléchir à une indépendance des différentes vues ? Avoir #1740 en tête ?
cc @aurelBZH @RyanHerb @flothoni @mikael-s @tydaxWeb 2018.01Mathieu GiraudMathieu Giraudhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/2026Fichier .analysis sur une seule partie des fichiers2020-12-04T12:07:47+01:00Vidjil TeamFichier .analysis sur une seule partie des fichiersLorsqu'un fichier analysis est enregistré pour une seule partie des fichiers, cela peut avoir des conséquence fâcheuses.
Exemple : on a deux fichiers (identiques, peu importe). On leur met un commentaire et un nom différents. On lance u...Lorsqu'un fichier analysis est enregistré pour une seule partie des fichiers, cela peut avoir des conséquence fâcheuses.
Exemple : on a deux fichiers (identiques, peu importe). On leur met un commentaire et un nom différents. On lance une analyse IGH pour l'un d'eux et une analyse multi+inc+xxx sur l'autre. On ouvre le premier, on fait quelques colorations et merges, on l'enregistre. On va voir l'autre fichier et là, ô surprise, le champ commentaire et le nom du fichier sont ceux de l'autre, car ils ont été enregistrés dans le fichier anaysis.
L'exemple se trouve ici : https://dev.vidjil.org/browser/index.html?sample_set_id=4334&config=2 (IGH) et là https://dev.vidjil.org/browser/index.html?sample_set_id=4334&config=25 (multi+inc+xxx).
Solution : ne pas stocker info et names dans le analysis, mais le problème c'est (me semble-t-il) qu'ils servent de sauvegarde temporaire avant de répercuter les modifications en BD. Il faudrait donc supprimer ces infos du fichier .analysis, après les avoir intégrés dans la BD.
***
@nobodyhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/4594Que devrait contenir une page My Account ?2020-12-03T19:23:43+01:00Mathieu GiraudQue devrait contenir une page My Account ?
Une vraie page "my account" pourrait rappeler les infos de l'utilisateur (et lui permettre de changer son mot de passe), de fixer quelques paramètres (type des notifications...). En attendant, la page actuelle pourrait probablement s'ap...
Une vraie page "my account" pourrait rappeler les infos de l'utilisateur (et lui permettre de changer son mot de passe), de fixer quelques paramètres (type des notifications...). En attendant, la page actuelle pourrait probablement s'appeler "stats" ou quelque chose comme cela.https://gitlab.inria.fr/vidjil/vidjil/-/issues/4579Comment relancer les fuse sur un serveur2020-11-23T13:37:35+01:00Thonier FlorianComment relancer les fuse sur un serveurJ'ai mis à jour fuse pour qu'il remonte un nouveau warning (#4566).
Ce nouveau warning peut avoir une incidence non nul sur une interprétation. Comment est-il possible de relancer les fuse sur un certain nombre d'analyses récentes ? Dan...J'ai mis à jour fuse pour qu'il remonte un nouveau warning (#4566).
Ce nouveau warning peut avoir une incidence non nul sur une interprétation. Comment est-il possible de relancer les fuse sur un certain nombre d'analyses récentes ? Dans ce cas, faut-il aussi avoir la version spécifique du fuse disponible quelque part ? Comment être certain que l'analyse que l'on regarde ait inclut cette fonction lors du fuse ?
* La technique actuellement serait possiblement de conseiller de relancer au moins une analyse puisque l'on sait que le fuse se fera automatiquement une fois celle-ci finit.
* Ne serait-il pas possible de le faire automatiquement ? Dans ce cas, on crash ou on obstrue le serveur car il y en aurait pour très longtemps (et ce n'est pas pour aller en s'améliorant.
* Ne lancer que sur les XXX analyses les plus récentes ?
* Avoir un bouton spécifique dans la page du set sans avoir a relancer une analyse ? Ce bouton ne serait disponible que si la version du fuse est différente par exemple ?
cc @magiraud @mikael-shttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1188API / URL persistantes : réfléchir à d'autres services utiles2020-11-20T21:11:37+01:00Vidjil TeamAPI / URL persistantes : réfléchir à d'autres services utiles- se logguer directement avec un token
- se logguer directement + ouvrir un patient ?
- se logguer directement (admin) + page monitor
***
- fuse.py + affichage ?
- align.cgi ?
***
Export
- `&export=html` (ou `pdf`)
...- se logguer directement avec un token
- se logguer directement + ouvrir un patient ?
- se logguer directement (admin) + page monitor
***
- fuse.py + affichage ?
- align.cgi ?
***
Export
- `&export=html` (ou `pdf`)
- `fasta` ? `svg` ?
- `igblast` ? `vquest` ?
***
Préférences utilisateurs (#878)
- tout ce qui est dans le menu "settings"
***
Sélection en cours
- "color by" et locus selectionnés
- graph : sample sélectionné
- `?plot=5` ou `?plot=gene_v,gene_v` ? : mode et axes sélectionnés
- `?clones=4,6,35` -> sélectionne des clones
- voire même search et/ou focus !
`?search=ACATCT`, `?focus=ACATCT` ?
***
***
@RyanHerb @mikael-s @aurelBZH
https://gitlab.inria.fr/vidjil/vidjil/-/issues/3084germline_id, *.g et vidjil-algo2020-11-19T08:41:57+01:00Mathieu Giraudgermline_id, *.g et vidjil-algoSuite à !158, cela me tenterait presque de déplacer `germline_id` dans `algo/`. En effet, `germline_id` est bien la version des germlines utilisée par l'algo.
En effet `germline/` est autonome, avec ses tests. On peut désormais faire év...Suite à !158, cela me tenterait presque de déplacer `germline_id` dans `algo/`. En effet, `germline_id` est bien la version des germlines utilisée par l'algo.
En effet `germline/` est autonome, avec ses tests. On peut désormais faire évoluer les germlines, travailler sur `split-from-imgt`, faire les tests qui vont avec sans casser l'algo. Quand on est content, on met à jour `germline_id` et on travaille sur l'algo.
Problème : on trouve aussi ces numéros de versions dans les `*.g` (mais qui sont aussi, quelque part, des choses plutôt algo).
Voir #1491.https://gitlab.inria.fr/vidjil/vidjil/-/issues/2860Avoir une probabilité, pour chaque nucléotide, d'être dans un V, un D ou un J2020-11-13T20:08:43+01:00Mikaël SalsonAvoir une probabilité, pour chaque nucléotide, d'être dans un V, un D ou un JAvec les discussions sur où doit -on arrêter un V, un D ou un J, je me pose la question de donner des réponses plus floues que cela.
On pourrait dire que tel nucléotide a 10% de chances d'être dans un D. Ensuite la webapp peut montrer c...Avec les discussions sur où doit -on arrêter un V, un D ou un J, je me pose la question de donner des réponses plus floues que cela.
On pourrait dire que tel nucléotide a 10% de chances d'être dans un D. Ensuite la webapp peut montrer cela (avec une couleur plus ou moins forte), et l'afficher différemment selon les préférences de l'utilisateur.https://gitlab.inria.fr/vidjil/vidjil/-/issues/4550task.py devrait accéder à un dictionnaire pour les (pre-, post-)process, voir...2020-11-13T20:03:34+01:00Mathieu Giraudtask.py devrait accéder à un dictionnaire pour les (pre-, post-)process, voire pour les process ?Suggestion de @duez : un dictionnaire dans `defs.py`, on ne devrait pas avoir à changer `task.py` pour un nouveau pré/post-process qui est juste "une commande à trous" (possiblement avec wrapper)
Discussion avec @duez / @flothoni : les ...Suggestion de @duez : un dictionnaire dans `defs.py`, on ne devrait pas avoir à changer `task.py` pour un nouveau pré/post-process qui est juste "une commande à trous" (possiblement avec wrapper)
Discussion avec @duez / @flothoni : les tasks demandent plus de choses... mais ne faudrait-il pas un wrapper autour de vidjil-algo ou d'autres tâches pour que ~"server-task.py" ne s'occupe que du scheduling ?https://gitlab.inria.fr/vidjil/vidjil/-/issues/2868Mapper la touche "echap" pour fermer le menu patient2020-11-13T19:34:33+01:00Tatiana RocherMapper la touche "echap" pour fermer le menu patienthttps://gitlab.inria.fr/vidjil/vidjil/-/issues/4529vmi et fenêtre serveur2020-11-13T19:34:10+01:00Mathieu Giraudvmi et fenêtre serveurLa fenêtre serveur pourrait être une vue de ~"vmi-responsive".
Derrière reflexion sur modal (cc @flothoni), que j'aimerais pouvoir éviter, mais à voir si cela fait sens.La fenêtre serveur pourrait être une vue de ~"vmi-responsive".
Derrière reflexion sur modal (cc @flothoni), que j'aimerais pouvoir éviter, mais à voir si cela fait sens.