vidjil issueshttps://gitlab.inria.fr/vidjil/vidjil/-/issues2019-11-04T06:50:47+01:00https://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/1693Recherche de séquence avec des caractères dégénérés2021-04-16T22:39:11+02:00Vidjil TeamRecherche de séquence avec des caractères dégénérésPermettre une recherche approchée par le search, par exemple à 1 ou 2 nucléotides près. Mais peut-être pas par défaut ?
***
list.js:710, fonction filter
1) Faire (ou récupérer) une fonction approximateIndexOf(seq, pattern, max_erreurs)...Permettre une recherche approchée par le search, par exemple à 1 ou 2 nucléotides près. Mais peut-être pas par défaut ?
***
list.js:710, fonction filter
1) Faire (ou récupérer) une fonction approximateIndexOf(seq, pattern, max_erreurs), ou bien même approximateMatch(...)
2) Avoir un bouton / préférence pour lancer cela sur les séquences quand on lance filter()
***
Quelques librairies pour « approximate matching javascript » :
http://glench.github.io/fuzzyset.js/ algo sérieuse, k-mers, vue « index »
https://gist.github.com/Yaffle/1336740 programmation dynamique
http://unamatasanatarai.github.io/FuzzyMatch/test/index.html RegExp de jquery ?
https://github.com/javve/list.fuzzysearch.js/blob/master/src/fuzzy.js ?
En utiliser une, ou bien réimplémenter un truc léger pour autoriser 1-2 erreurs ?
***
pas pour le workshop, mais pour info ça en était où ?
***
@Cyanaelhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/2196Mesurer la performance du client2020-01-21T16:39:43+01:00Mathieu GiraudMesurer la performance du clientNe devrait-on pas avoir quelque part une mesure de vitesse du client ?
Cela permettrait en particulier de mieux apprécier les améliorations comme #2127 / !7.
Ah oui, Marc avait fait... `test_speed.html` qui appelle `js/test.js`, pas...Ne devrait-on pas avoir quelque part une mesure de vitesse du client ?
Cela permettrait en particulier de mieux apprécier les améliorations comme #2127 / !7.
Ah oui, Marc avait fait... `test_speed.html` qui appelle `js/test.js`, pas modifiés depuis presque 3 ans (e18b4077).
Ne marche pas actuellement (adresse DB + CGI en dur, voir si c'est juste cela ou d'autres choses).
Il pourrait être intégré à la suite de tests.
cc @tydax @mikael-s @RyanHerbmarc duezmarc duezhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/2197Étendre les tests de vitesse du client2019-09-04T19:13:40+02:00Mathieu GiraudÉtendre les tests de vitesse du clientVoir #2196. Chez moi, pas de différence notable sur ces tests avant/après !7, mais on ne teste peut-être pas ce qu'il faut.
cc @mikael-sVoir #2196. Chez moi, pas de différence notable sur ces tests avant/après !7, mais on ne teste peut-être pas ce qu'il faut.
cc @mikael-shttps://gitlab.inria.fr/vidjil/vidjil/-/issues/2223LoadAnalysisURL recharge-t-il tout, est-ce bien raisonnable ?2018-02-23T10:04:51+01:00Mikaël SalsonLoadAnalysisURL recharge-t-il tout, est-ce bien raisonnable ?Voir #2222 : il semble que `loadAnalysisURL` dans `model_loader.js` recharge tous les composants, ce qui est peut-être un peu lourd. À vérifier et si besoin à alléger.
cc @magiraud @RyanHerbVoir #2222 : il semble que `loadAnalysisURL` dans `model_loader.js` recharge tous les composants, ce qui est peut-être un peu lourd. À vérifier et si besoin à alléger.
cc @magiraud @RyanHerbhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/2425Mettre à jour jQuery vers jQuery 3.x ?2017-05-10T18:41:29+02:00Mathieu GiraudMettre à jour jQuery vers jQuery 3.x ?Voir #1171.
Notre version de jQuery date de septembre 2014. jQuery 3.0 est sorti en juin 2016 :
> jQuery 3.0 is now released! This version has been in the works since October 2014. We set out to create a slimmer, faster version of jQue...Voir #1171.
Notre version de jQuery date de septembre 2014. jQuery 3.0 est sorti en juin 2016 :
> jQuery 3.0 is now released! This version has been in the works since October 2014. We set out to create a slimmer, faster version of jQuery (with backwards compatibility in mind). We’ve removed all of the old IE workarounds and taken advantage of some of the more modern web APIs where it made sense. It is a continuation of the 2.x branch, but with a few breaking changes that we felt were long overdue.
Est-ce que cela vaut le coup de changer ?
Mais la migration n'est peut-être pas si évidente : https://jquery.com/upgrade-guide/3.0/
Si cela implique des changements un peu partout, il faudra faire attention aux dévs en cours sur des branches.
cc @RyanHerbhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/2438Eviter les initialisations multiples2017-11-14T17:42:00+01:00Ghost UserEviter les initialisations multiplesJe remarque, sans savoir précisément où, que certaines vues sont initialisées plusieurs fois. Par exemple, il y a 3 exécutions de `Builder.init()` à l'ouverture de la page.
C'est sans doute lié à des mécaniques d'`udpate`.
Régler...Je remarque, sans savoir précisément où, que certaines vues sont initialisées plusieurs fois. Par exemple, il y a 3 exécutions de `Builder.init()` à l'ouverture de la page.
C'est sans doute lié à des mécaniques d'`udpate`.
Régler ce souci permettrait certainement de gagner en performance, ou du moins de limiter les appels 'superflus'.Ryan HerbertRyan Herberthttps://gitlab.inria.fr/vidjil/vidjil/-/issues/2770Boucle pour les notifications et appel récursif dans setTimeout()2018-10-11T10:40:24+02:00Mathieu GiraudBoucle pour les notifications et appel récursif dans setTimeout()Vu par @mikael-s :
est-ce que javascript gère correctement la récursivité terminale ? Sinon, trouver un autre moyen de faire la boucle à la fin de `main.js`.
https://stackoverflow.com/questions/16887061/javascript-recursive-timeout-callVu par @mikael-s :
est-ce que javascript gère correctement la récursivité terminale ? Sinon, trouver un autre moyen de faire la boucle à la fin de `main.js`.
https://stackoverflow.com/questions/16887061/javascript-recursive-timeout-callhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/2786tsne.js prend un peu de temps2022-06-17T12:39:29+02:00Thonier Floriantsne.js prend un peu de tempsEn regardant le tuto, j'ai remarqué que cette fonction ne marchait plus; En effet, le script rentre dans une boucle infinie.
Cela ce voit sur le sample `demo lil3`, avec le choix des `plot by similarity`. L'erreur retourne à la `ligne ...En regardant le tuto, j'ai remarqué que cette fonction ne marchait plus; En effet, le script rentre dans une boucle infinie.
Cela ce voit sur le sample `demo lil3`, avec le choix des `plot by similarity`. L'erreur retourne à la `ligne 332` ou bien `345`.https://gitlab.inria.fr/vidjil/vidjil/-/issues/3113Performance highlights feature-c/segmenter_highlights2018-07-05T09:37:49+02:00Ryan HerbertPerformance highlights feature-c/segmenter_highlightsPour logger un peu les résultats de mes tests.
Performances de `highlightToString`:
- Sans highlight seq (comportement avant refactor): 0.5-2 ms/clone
- Avec highlight seq (4 highlights à séquence): 5-15 ms/clone
Si on aligne les séquen...Pour logger un peu les résultats de mes tests.
Performances de `highlightToString`:
- Sans highlight seq (comportement avant refactor): 0.5-2 ms/clone
- Avec highlight seq (4 highlights à séquence): 5-15 ms/clone
Si on aligne les séquences, on passe à envviron 30 ms/clone
https://gitlab.inria.fr/vidjil/vidjil/-/issues/3181Lancer CloneDB depuis fuse.py ou en offline2019-02-14T18:19:54+01:00Mathieu GiraudLancer CloneDB depuis fuse.py ou en offlineExtrait de #2312 et clonedb#1 :
> Lancer la cloneDB sur tous les clones côté client peut être une mauvaise idée ! (à voir si on le fait dans le `fuse.py`).
Pourquoi pas... mais dans ce cas, pas de check sur la contamination intra-run #...Extrait de #2312 et clonedb#1 :
> Lancer la cloneDB sur tous les clones côté client peut être une mauvaise idée ! (à voir si on le fait dans le `fuse.py`).
Pourquoi pas... mais dans ce cas, pas de check sur la contamination intra-run #1744 (qui pourrait être fait séparément).
À voir aussi comment on indique que cela a été fait "à une certain moment" (et donc, si on revient plus tard, pas forcément à jour). Et/ou relancer périodiquement CloneDB sur le serveur ?https://gitlab.inria.fr/vidjil/vidjil/-/issues/3437d3.js : conserver, changer ?2019-01-10T15:21:24+01:00Mathieu Giraudd3.js : conserver, changer ?Conservera-t-on a terme d3.js ? Très puissant, mais maitrise-t-on ce qu'il se passe ?
chart.js va être testé par @flothoni pour ~"app\-stats" stats#233, on pourra ainsi se faire une idée.
(Notons que même le ~"client\-grid" pourrait êtr...Conservera-t-on a terme d3.js ? Très puissant, mais maitrise-t-on ce qu'il se passe ?
chart.js va être testé par @flothoni pour ~"app\-stats" stats#233, on pourra ainsi se faire une idée.
(Notons que même le ~"client\-grid" pourrait être fait en chart.js, http://www.chartjs.org/samples/latest/scriptable/bubble.html). Mais chart.js ne permet pas d'export svg.https://gitlab.inria.fr/vidjil/vidjil/-/issues/3895Comparer dans le client beaucoup de samples d'un coup2019-12-13T12:26:11+01:00Mathieu GiraudComparer dans le client beaucoup de samples d'un coup@Anne, dans https://gitlab.inria.fr/vidjil/vidjil/issues/3889#note_187960 :
> la visualisation par run est aussi un peu longue à ouvrir et pas très facile à manier (65 samples dans mon dernier run)
Oui ! C'est dommage. Nous avons des c...@Anne, dans https://gitlab.inria.fr/vidjil/vidjil/issues/3889#note_187960 :
> la visualisation par run est aussi un peu longue à ouvrir et pas très facile à manier (65 samples dans mon dernier run)
Oui ! C'est dommage. Nous avons des choses en cours de développement pour avoir une vue d'ensemble sur un run via une page du ~server (~"server\-qc\-stats"), mais on pourrait se demander ce qu'on pourrait voir depuis le ~client.
L'axe `number of samples sharing each clone` peut être utile. Voir par exemple http://app.vidjil.org/?set=30982&config=2&plot=v,nbSamples,grid&clone=7,25,166 , ici au moins trois clones se trouvent dans au moins 10 samples.
Y aurait-il un moyen de mieux voir cela ?
- limiter le ~"client\-graph" ? À un moment, on n'affichait qu'au plus 20 samples (mais c'était ~"server\-fuse"). Cela pourrait être une limitation soft, ou les données sont présentes et on se contente de cacher (dans l'épingle à droite) des choses (serait-ce plus rapide ?)
- enlever complètement le ~"client\-graph" ? (mais comment indiquer clairement qu'on visualise alors un sample ? mettre en valeur le nom du sample en haut à gauche ?)
- avoir par défaut une vue ~"client\-grid" avec l'axe `nbSamples` ? (~"!\-easy") Si on enlève le ~"client\-graph", on pourrait avoir cette vue en plus de la ~"client\-grid" habituelle.
- avoir une autre vue faite pour cela, qui remplace le ~client-graph et qui donne un "résumé" lisible (type #1887) ? (~"!\-hard")
cc @flothoni @mikael\-s
~"client\-axis"https://gitlab.inria.fr/vidjil/vidjil/-/issues/4085Améliorer l'efficacité de l'aligneur2021-04-08T08:31:50+02:00Mikaël SalsonAméliorer l'efficacité de l'aligneurLorsqu'on sélectionne beaucoup de clones, le segmenteur rame pour les ajouter.
@duez a des idées pour améliorer cela. L'idée serait de précharger toutes les séquences dans le segmenteur (le volume de données et la quantité de tags me fa...Lorsqu'on sélectionne beaucoup de clones, le segmenteur rame pour les ajouter.
@duez a des idées pour améliorer cela. L'idée serait de précharger toutes les séquences dans le segmenteur (le volume de données et la quantité de tags me fait un peu peur, mais Marc a l'air serein !) pour éviter d'avoir à ajouter (et supprimer) plein de choses à la volée.
Des tests à mener, déjà pour voir si une machine modeste tient bien le choc en insérant tout d'un coup.https://gitlab.inria.fr/vidjil/vidjil/-/issues/4112Initialisation "Vidjil is loading" / splash screen2020-08-04T09:28:11+02:00Mathieu GiraudInitialisation "Vidjil is loading" / splash screenÉvoqué avec @duez : pour l'instant, rien de vraiment propre à l'init, cela peut prendre du temps, entre la latence du serveur et l'initialisation de l'ensemble. Faire patienter joliment nos usagers.Évoqué avec @duez : pour l'instant, rien de vraiment propre à l'init, cela peut prendre du temps, entre la latence du serveur et l'initialisation de l'ensemble. Faire patienter joliment nos usagers.https://gitlab.inria.fr/vidjil/vidjil/-/issues/4146Surveiller par CI des mesures de temps2020-01-21T16:39:22+01:00Mathieu GiraudSurveiller par CI des mesures de tempsExtrait de #2196 (mais pourrait aussi s'appliquer à ~"cpp-speed" et ~"server-speed"):
> Idéalement, un jour on aimerait (...) surveiller cela par ~"dev-ci".
> Un test sur un slave fixe, et trouver comment indiquer cela (un temps en dur...Extrait de #2196 (mais pourrait aussi s'appliquer à ~"cpp-speed" et ~"server-speed"):
> Idéalement, un jour on aimerait (...) surveiller cela par ~"dev-ci".
> Un test sur un slave fixe, et trouver comment indiquer cela (un temps en dur dans un fichier, et le test plante si +/- 10%) ?https://gitlab.inria.fr/vidjil/vidjil/-/issues/4800Temps de calcul Genescan2021-05-19T12:08:18+02:00Mathieu GiraudTemps de calcul GenescanUn cas avec 16 patients x 100 clones qui prend 3-4 minutes.
Mais bon... on ne conseille pas d'analyser les patients individuellement sur une telle vue.
- des choses possibles pour accélérer ?
- sinon, limiter l'utilisation de cet axe ?Un cas avec 16 patients x 100 clones qui prend 3-4 minutes.
Mais bon... on ne conseille pas d'analyser les patients individuellement sur une telle vue.
- des choses possibles pour accélérer ?
- sinon, limiter l'utilisation de cet axe ?https://gitlab.inria.fr/vidjil/vidjil/-/issues/4856Primers; rendre la fonction de positionnement asynchrone2021-10-06T14:13:11+02:00Thonier FlorianPrimers; rendre la fonction de positionnement asynchroneC'est parfois long, et frustrant de bloquer entièrement le client sur l'appel de cette fonction.
On devrait pouvoir rendre son appel asynchrone.C'est parfois long, et frustrant de bloquer entièrement le client sur l'appel de cette fonction.
On devrait pouvoir rendre son appel asynchrone.https://gitlab.inria.fr/vidjil/vidjil/-/issues/5041Bibliothèque SIMD alignement .js/.py pour comparaison de clonotypes ?2022-06-17T12:39:29+02:00Mathieu GiraudBibliothèque SIMD alignement .js/.py pour comparaison de clonotypes ?
Pas (encore) pour remplacer dynprog, mais au moins pour utilisation client en comparaison de séquences, sans assignation VDJ.
Pas (encore) pour remplacer dynprog, mais au moins pour utilisation client en comparaison de séquences, sans assignation VDJ.https://gitlab.inria.fr/vidjil/vidjil/-/issues/5243Speed up users page2024-02-06T12:01:30+01:00CHESNIN ClementSpeed up users pagePour le moment, l'ouverture de la page users sur app met 30s...
Quelques idées :
- voir si on peut optimiser les requêtes sb
- paginer la réponse (cf ce qu'on a fait pour les sample_sets)
- avoir un chargement dynamique des infos sur les...Pour le moment, l'ouverture de la page users sur app met 30s...
Quelques idées :
- voir si on peut optimiser les requêtes sb
- paginer la réponse (cf ce qu'on a fait pour les sample_sets)
- avoir un chargement dynamique des infos sur les users
- ...Web 2024.04