vidjil issueshttps://gitlab.inria.fr/vidjil/vidjil/-/issues2020-09-18T11:34:20+02:00https://gitlab.inria.fr/vidjil/vidjil/-/issues/3473Avoir un tutoriel pour les amdinistrateurs2020-09-18T11:34:20+02:00Thonier FlorianAvoir un tutoriel pour les amdinistrateursPour l'instant, nous n'avons qu'un tutoriel pour les utilisateurs. Il serait intéressant de faire un petit tuto qui viendrait compléter la documentation pour les administrateurs, avec notamment les étapes pour créer un preprocess qui peu...Pour l'instant, nous n'avons qu'un tutoriel pour les utilisateurs. Il serait intéressant de faire un petit tuto qui viendrait compléter la documentation pour les administrateurs, avec notamment les étapes pour créer un preprocess qui peuvent être assez complexes et qui me semble très lourdes par la documentation.
On pourrait ainsi splitter la documentation pour qu'elle présente les étapes générales et la logique, et d'un autre côté voir les aspects plus techniques pour les preprocess et l'installation des différents algo.https://gitlab.inria.fr/vidjil/vidjil/-/issues/4454Index d'overlaps: une seule fonction dans fuse.py ?2020-09-03T17:21:27+02:00Mathieu GiraudIndex d'overlaps: une seule fonction dans fuse.py ?Voir https://gitlab.inria.fr/vidjil/vidjil/-/merge_requests/465#note_370823
@mikael-s, ton avis ?
cc @flothoniVoir https://gitlab.inria.fr/vidjil/vidjil/-/merge_requests/465#note_370823
@mikael-s, ton avis ?
cc @flothonihttps://gitlab.inria.fr/vidjil/vidjil/-/issues/2579Supprimer un process ne supprime pas le scheduler_task associé2020-08-07T15:43:41+02:00Ryan HerbertSupprimer un process ne supprime pas le scheduler_task associéDepuis l'interface d'un sample_set, si on supprime un `run`, on s'attendrait à ce que je le scheduler ne lance pas la tâche associée. Or je constate qu'après avoir supprimé des tâches qui étaient en `QUEUED` ou en `ASSIGNED`, les entrées...Depuis l'interface d'un sample_set, si on supprime un `run`, on s'attendrait à ce que je le scheduler ne lance pas la tâche associée. Or je constate qu'après avoir supprimé des tâches qui étaient en `QUEUED` ou en `ASSIGNED`, les entrées dans la table `scheduler_task` ne sont pas supprimées.
Je dirais même que l'on pourrait s'attendre à ce que la tâche soit complètement killée si elle est déjà en cours d'exécution.
@flothonihttps://gitlab.inria.fr/vidjil/vidjil/-/issues/4452Sample metadata: How could we specify in a .vidjil file that a sample is a di...2020-08-05T15:10:21+02:00Mathieu GiraudSample metadata: How could we specify in a .vidjil file that a sample is a diagnosis sample?Or that it has other tags/properties ?
@flothoni : "see also !654"Or that it has other tags/properties ?
@flothoni : "see also !654"https://gitlab.inria.fr/vidjil/vidjil/-/issues/4449Graphe : avoir des exports png/svg plus beaux2020-08-04T10:09:28+02:00Mathieu GiraudGraphe : avoir des exports png/svg plus beauxLes export `png` ne font pas très propres quand on les inclut dans un article.
Certes, avoir de nouveau un export `svg` #3464 améliorerait déjà les choses, et permettrait de retravailler à volonté, mais on pourrait proposer un export pl...Les export `png` ne font pas très propres quand on les inclut dans un article.
Certes, avoir de nouveau un export `svg` #3464 améliorerait déjà les choses, et permettrait de retravailler à volonté, mais on pourrait proposer un export plus propre par défaut (même si ce ne sera jamais "parfait").
Je parle ici du ~"client-graph".
Ne faudrait-il pas retravailler le ~"client-less-css" du svg ? Les lignes qui servent à représenter les clones qui n'apparaissent qu'une seule fois sont elles pertinentes en export ? Mettre des points/croix pour les clones ?
Fonte : avoir quelque chose de plus neutre que notre fonte par défaut ?
Légendes du ~"client-graph" : mettre plus d'informations, comme dans !747 ? Et #1951.
Des éléments à supprimer toujours/parfois ? #4448, #4201 ?
Et le format : le "wide" du `graph.resize(1400,800)` en dur est trop espacé s'il n'y a que 2 ou 3 samples. Dynamique par rapport au nombre de samples ?
cc @duez @flothonihttps://gitlab.inria.fr/vidjil/vidjil/-/issues/4419Taille des sorties / utilisation du disque dans un serveur, particulièrement ...2020-07-31T17:52:24+02:00Mathieu GiraudTaille des sorties / utilisation du disque dans un serveur, particulièrement en -y allBeaucoup d'issues ces derniers temps sur la taille des sorties et l'occupation du disque en `-y all`.
Issue ici pour faire le point, que ce soit sur les choses déjà faites ou les choses possibles.
cc @flothoni @mikael-s
Sur un lanceme...Beaucoup d'issues ces derniers temps sur la taille des sorties et l'occupation du disque en `-y all`.
Issue ici pour faire le point, que ce soit sur les choses déjà faites ou les choses possibles.
cc @flothoni @mikael-s
Sur un lancement de `vidjil-algo`, indépendament de tout ~server :
- --no-windows, --no-airr, --no-windows #3861
- clone.fa #4386
- .vdj.fa #4387 (et #3795)
- .vidjil allégé #4036 (#4334, #4343)
- .vidjil.gz #4253
Sur interaction avec ~"server-database" / ~"server-hosting" :
- vijdil.gz #2015 (après #4254)
- supprimer .vidjil après insertion dans db #4388
- nettoyer régulièrement `/tmp/` vdj#1083.
Documenter également cela:
- pour vidjil-algo, 1 sample
- pour "server requirements"
Avec 2020.06, sur `-g germline/homo-sapiens.g -r 1 -y all` (pas fait `-3` ou autre, mais cela devrait être négligeable)
Autres colonnes/lignes bienvenues.
| | S22 | L3.0 | lil #4386
| ---- | ------ | ------ | ------ |
| *.fasta.gz* |*405 KB*| -- |
| *.fastq.gz* | -- |*308 MB*|
| .vidjil | 16 MB | 180 MB |
| .tsv | 3.3 MB | 30 MB |
| .vdj.fa | 3.5 MB | 56 MB |
| .windows.fa | 726 KB | 7.1 MB |
| seq/* | 43 MB | 415 MB | 15.1 GB
| total | 66 MB | 687 MB | 27.3 GB
| ---- | ------ | ------ |
| .vidjil.gz | 980 K | 15 MB |
Et .edges et .log sont négligeables.
(au passage, `--gz` et gzip du fichier .vidjil donnent en gros la même taille... mais pas exactement le même fichier)https://gitlab.inria.fr/vidjil/vidjil/-/issues/3857Comparaison / overlap de répertoires via le client vidjil2020-07-29T18:36:20+02:00Mathieu GiraudComparaison / overlap de répertoires via le client vidjil(séparé depuis #3855)
@mikael-s : "savoir les clones qu'on retrouve, mais aussi les gènes V".
Très clairement certaines des réponses pourraient être via app-stats, dès qu'on est plus sur des distributions. stats#242.
Ici on parle des ...(séparé depuis #3855)
@mikael-s : "savoir les clones qu'on retrouve, mais aussi les gènes V".
Très clairement certaines des réponses pourraient être via app-stats, dès qu'on est plus sur des distributions. stats#242.
Ici on parle des possibilités du client, donc des comparaisons basées sur un nombre raisonnable de clones (mais attention à #2506 : discussion dans #3855). Nos solutions actuelles sont l'observation du ~client-graph et le préset ~client-log-log #998.
- Créer des samples virtuels ? `A\B` et `B\A`, `A or B`, `A and B`, voire `A xor B` ? Permet ensuite d'étudier pleinement ce sample virtuel selon des axes au choix.
- Modifier des samples existants ? (hum)
- Avoir un filtre pour, sans toucher aux samples, n'afficher que les clones avec une certaine relation avec un sample particulier ? ~"client-filter"
- autres idées ?https://gitlab.inria.fr/vidjil/vidjil/-/issues/4301Graph without a logarithmic scale2020-07-29T11:01:24+02:00Mathieu GiraudGraph without a logarithmic scaleDo we need a switch to display the ~"client-graph" without a logarithmic scale ?Do we need a switch to display the ~"client-graph" without a logarithmic scale ?https://gitlab.inria.fr/vidjil/vidjil/-/issues/3764SampleReads : échantillon aléatoire des reads.2020-07-28T19:39:52+02:00Mikaël SalsonSampleReads : échantillon aléatoire des reads.@Anne m'a parlé de problèmes de séquences consensus qui ne représentent pas vraiment l'ensemble des reads du clone.
C'est dû à notre manière de conserver les reads : quand il y en a trop on n'en conserve qu'un échantillon composé des re...@Anne m'a parlé de problèmes de séquences consensus qui ne représentent pas vraiment l'ensemble des reads du clone.
C'est dû à notre manière de conserver les reads : quand il y en a trop on n'en conserve qu'un échantillon composé des reads les plus longs et de meilleure qualité. Dans certains cas cela peut entraîner un biais, comme favoriser les séquences qui possèdent des insertions.
On pourrait essayer de ne conserver qu'un échantillon aléatoire des reads qui, selon la statistique, devrait être représentatif de l'ensemble des reads. Si les reads ainsi conservés sont de mauvaise qualité ou trop courts… hé bien on n'aurait pas fait mieux avec l'échantillon complet.
@Anne n'hésite pas à nous pointer vers un ou deux exemples pour qu'on puisse tester si cela changerait effectivement quelque chose.Mikaël SalsonMikaël Salsonhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/3836pouvoir composer les preprocess à la carte2020-07-28T11:54:45+02:00Thonier Florianpouvoir composer les preprocess à la carteUne idée venu en parlant avec Joao, mais peut-être compliqué et pas si intéréssante.
On pourrait imaginer que l'on puisse ajouter des preprocess d'après une liste de divers pre/post-process.
Dasn ce cas, on ajoute une ligne ou l'on peux...Une idée venu en parlant avec Joao, mais peut-être compliqué et pas si intéréssante.
On pourrait imaginer que l'on puisse ajouter des preprocess d'après une liste de divers pre/post-process.
Dasn ce cas, on ajoute une ligne ou l'on peux parametre ce preprocess (par exemple choisir le R1 ou R2, le fichier de spike-in, la longueur minimum pour un filtre, ...).
On ne saurait pas comment ensuite conserver ou affichier le résultat de ces différentes étapes.
Encore beaucoup de réfléxion nécessaire pour ce faire.https://gitlab.inria.fr/vidjil/vidjil/-/issues/4343Blancs dans .vidjil ?2020-07-28T09:59:34+02:00Mathieu GiraudBlancs dans .vidjil ?Avec --gz cela change rien #2015, mais sinon en ce moment on a beaucoup de blancs.
Et c'est tout de même agréable de pouvoir lire un .vidjil.Avec --gz cela change rien #2015, mais sinon en ce moment on a beaucoup de blancs.
Et c'est tout de même agréable de pouvoir lire un .vidjil.https://gitlab.inria.fr/vidjil/vidjil/-/issues/4015clones virtuels: le preset 0 fait apparaitre les clones qui ne sont pas du lo...2020-07-21T17:48:52+02:00Thonier Florianclones virtuels: le preset 0 fait apparaitre les clones qui ne sont pas du locus courrant sur la grillSur le preset 0, si nous avons des clones de différents locus, nous avons les clones de distributions qui apparaissent consentement. Cela est dû au fait qu'ils n'ont pas de locus désignés. Cela peut poser souci par exemple dans ce graphi...Sur le preset 0, si nous avons des clones de différents locus, nous avons les clones de distributions qui apparaissent consentement. Cela est dû au fait qu'ils n'ont pas de locus désignés. Cela peut poser souci par exemple dans ce graphique.
Pour remedier à ce souci, il faudrait être capable de deviner le locus depuis certaines valeurs d'axes, mais pas toujours possible, ni même fiable (seg5==TRDV1 => TRD ou TRD+). Une solution encore moins pratique serait d'inclure en plus, de manière constante, cette information dans les distributions générées par `fuse.py`.https://gitlab.inria.fr/vidjil/vidjil/-/issues/4399cluster by size2020-07-09T13:35:33+02:00Mathieu Giraudcluster by sizeEn particulier dans le preset "compare two samples", on a plein de clones arrivant au même endroit. On aimerait parfois les regrouper. Ne pourrait-on pas avoir un `cluster by size`, qui, d'un coup, regrouperait les clones de taille `[0.1...En particulier dans le preset "compare two samples", on a plein de clones arrivant au même endroit. On aimerait parfois les regrouper. Ne pourrait-on pas avoir un `cluster by size`, qui, d'un coup, regrouperait les clones de taille `[0.1%, 1%[`, `[0.01%, 0.1%[`, ... ? Ceux au-dessus de 1%, il y en a peu, on pourrait les laisser seuls.
cc @flothonihttps://gitlab.inria.fr/vidjil/vidjil/-/issues/4309Afficher la sequence colorée d'un clone dans le getHTMLinfo2020-06-23T12:14:51+02:00Thonier FlorianAfficher la sequence colorée d'un clone dans le getHTMLinfoPour le moment, la méthode pour le faire passe par l'objet `Sequence`, qui est très fortement imbriqué avec le `Segmenter`.
Il faudrait donc modifier celui-ci pour y ajouter des bypass en cas de besoin et juste afficher l'information sa...Pour le moment, la méthode pour le faire passe par l'objet `Sequence`, qui est très fortement imbriqué avec le `Segmenter`.
Il faudrait donc modifier celui-ci pour y ajouter des bypass en cas de besoin et juste afficher l'information sans les parties permettant d'ajouter des espaces, gaps, mutations,...
Il y a quelques fois ou un simple `if semgenter != undefined` suffit, mais d'autre ou ce n'est pas possible.https://gitlab.inria.fr/vidjil/vidjil/-/issues/4129réflexion sur les intéractions sur la liste, renommage des clones2020-06-23T09:35:04+02:00Thonier Florianréflexion sur les intéractions sur la liste, renommage des clonesA l'usage, je me demande si nous pourrions pas modifier des interactions avec la liste des clones.
Par exemple, un double clic actuellement passe en mode édition le nom du clone. Je me demande si cette action de devrait pas être réalis...A l'usage, je me demande si nous pourrions pas modifier des interactions avec la liste des clones.
Par exemple, un double clic actuellement passe en mode édition le nom du clone. Je me demande si cette action de devrait pas être réalisée depuis la fenêtre info. Via un bouton édition par exemple, que ce soit directement dans la liste ou bien dans le panneau info.
Dans ce cas en plus, on libère le double clic qui permettrait de switcher ce panneau show/hide. Je pense que les utilisateurs utilise bien plus souvent cette action que le renommage et que ça simplifierait son appel.
De plus, le mode édition ne se ferme que si l'on click sur le bouton save. Nous pourrions aussi détecter l'appui sur la touche echap ou bien un clic en dehors de cette zone pour fermer celle-ciÉhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/4317Faire évoluer vidjil_format ?2020-06-11T22:18:16+02:00Mathieu GiraudFaire évoluer vidjil_format ?
Actuellement `vidjil_format_version` est toujours `2016b`. Est-on vraiment compatible avec les champs que l'on sortait il y a quatre ans ?
On a ajouté des choses (normalisations, distributions, ...), comme on n'a rien cassé est-ce norm...
Actuellement `vidjil_format_version` est toujours `2016b`. Est-on vraiment compatible avec les champs que l'on sortait il y a quatre ans ?
On a ajouté des choses (normalisations, distributions, ...), comme on n'a rien cassé est-ce normal qu'on n'ait pas changé le numéro de version ? Mais... si quelqu'un avait fait un script qui parsait tout `2016b` il y a quatre ans, désormais il ne parserait pas tout...
Rien de pressé, mais y-a-t-il des choses à faire évoluer ? #4316
Enfin notre ~doc là-dessus est peut-être moins complète que sur d'autres points. Rajouter des `tangle` ?
cc @flothonihttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1996Afficher certaines séquences particulières, même en-dessous du -t2020-06-11T11:26:37+02:00Vidjil TeamAfficher certaines séquences particulières, même en-dessous du -tLorsque des séquences d'intérêt sont en dessous du -t 100 de fuse.py on veut qu'elles finissent malgré tout dans le fichier final. Quelle solution retenir ?
* Les passer explicitement en paramètre du fuse.py ? Pas très simple pour notre...Lorsque des séquences d'intérêt sont en dessous du -t 100 de fuse.py on veut qu'elles finissent malgré tout dans le fichier final. Quelle solution retenir ?
* Les passer explicitement en paramètre du fuse.py ? Pas très simple pour notre serveur de faire ça
* Avoir un champ dans le fichier .vidjil qui dise au fuse.py « prends-moi » ? Les champs correspondants aux clones sont assez descriptifs. Là on ajouterait un champ purement « computationnel ». Ça polluerait un peu le fuse…
***
Le champ dans le `.vidjil` pourrrait être un "label", qui ne serait pas forcément oui/non mais pourrait ajouter de la sémantique (comme on faisait il y a longtemps avec l'option "-l"). C'est donc descriptif. (On a déjà "name", qu'on utilise pas comme cela.)
Dans un premier temps, fuse.py pourrait tout simplement garder les séquences avec label. Dans un deuxième, fuse pourrait avoir des paramètres pour spécifiquement garder/ignorer certains labels.
***
Au fait, dans #1007, un vieux commentaire disait :
> "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 ?)"
On peut effectivement déjà forcer avec `top: 0`. Utiliser "name" ne me semble pas une bonne idée maintenant.
***
Forcer le top : bof, on perd l'info.
Je pense que la situation était différente dans l'autre tâche puisqu'il n' s'agit pas de séquences appartenant réellement au jeu de données. Ce qui n'est pas notre cas ici.
***
nouvelle option `--label` (édité, ancienneemnt `-W`) + d332792 : on a le `label`
***
@magiraud @mikael-shttps://gitlab.inria.fr/vidjil/vidjil/-/issues/2351Comment désactiver un compte ? Le retirer d'un groupe ?2020-06-10T22:16:52+02:00Mikaël SalsonComment désactiver un compte ? Le retirer d'un groupe ?Discussion avec @flothoni à propos d'un compte utilisateur à désactiver :
> pour le compte […] qui doit être
> désactivé, on peux se contenter de lui retirer les droits d'accès à tous
> les groupes sans pour autant lui effacé son c...Discussion avec @flothoni à propos d'un compte utilisateur à désactiver :
> pour le compte […] qui doit être
> désactivé, on peux se contenter de lui retirer les droits d'accès à tous
> les groupes sans pour autant lui effacé son compte non ? Cela assure un
> backup si pour une raison ou une autre elle revient à avoir besoin d'un
> accès à son compte ?
>
> En fait, ça me pose une seconde question. Si elle est dans plusieurs
> groupes, le sien et celui de [son hôpital], comment sont réattribué ses
> fichiers si on l’efface ou la supprime du compte de [son hôpital]?
Quel processus pour désactiver un compte ? Le supprimer du groupe de son hôpital ne permettrait plus à son hôpital d'accéder aux fichiers uploadés par l'utilisatrice. On ne peut pas retirer tout droit à l'utilisatrice car les droits pertinents ici sont ceux du groupe.
Faut-il supprimer son mot de passe pour empêcher toute connection ?
@RyanHerb, expert des groupes ?https://gitlab.inria.fr/vidjil/vidjil/-/issues/4127Avoir un bouton de filtre sur un clone depuis la nouvelle graphlist2020-06-10T13:30:22+02:00Thonier FlorianAvoir un bouton de filtre sur un clone depuis la nouvelle graphlistA voir après #4105.
Pour l'instant il y a deux boutons de filtre générique : cahcer tous ou montrer tous les samples. On pourrait imaginer un bouton qui permette de ne retenir que les sample ou le(s) clone(s) séléctionné(s) est présent....A voir après #4105.
Pour l'instant il y a deux boutons de filtre générique : cahcer tous ou montrer tous les samples. On pourrait imaginer un bouton qui permette de ne retenir que les sample ou le(s) clone(s) séléctionné(s) est présent.
Pour une vue contamination, ça devrait je pense fortement augmenter la lisibilité et faire un gain de temps non négligeable.
Un même comportement devrait-il pouvoir se faire depuis le panneau info d'un clone ?https://gitlab.inria.fr/vidjil/vidjil/-/issues/1526Coding practise: Releases régulières, freeze du code, déploiement2020-06-10T08:32:41+02:00Vidjil TeamCoding practise: Releases régulières, freeze du code, déploiementEst-ce que cela vaut le coup de définir un peu mieux notre politique de release, sans tomber dans une usine à gaz ?
Plusieurs projets open-source ont pour politique de faire les grosses modifs *juste après chaque release* … De notre cô...Est-ce que cela vaut le coup de définir un peu mieux notre politique de release, sans tomber dans une usine à gaz ?
Plusieurs projets open-source ont pour politique de faire les grosses modifs *juste après chaque release* … De notre côté, si on fait des releases en début de mois, on pourrait décider d'arriver vers le 15/20 du mois à quelque chose de « stable » au niveau des fonctionnalités d'analyse, et ne pas publier de release avant d’avoir 1-2 semaines d’habitude sur cette version plus ou moins freezée.
Et d’ailleurs, est-ce que cela sert de faire tant de releases ? On peut dire oui… si nous en sommes nos premiers utilisateurs : ce serait bien plus stable (et maintenable à long terme) si on reste 1 mois sur la même version sur le serveur. On en est à 7 jours aujourd'hui, on n'a jamais tenu aussi longtemps !
Ce mois de stabilité pourrait devenir une règle, quitte à avoir une config « vidjil-dev » qui lance un autre exécutable Vidjil (et on dirait explicitement aux utilisateurs que c'est une config de test).
***
« et ne pas publier de release avant d’avoir 1-2 semaines d’habitude sur cette version plus ou moins freezée. » oui, si c'est associé avec la config vidjil-dev (et qu'on l'utilise vraiment) pour qu'on se rende compte des problèmes dans la version de vidjil.
***
vidjil-dev : pas si évident. Il faudrait que ce soit considéré comme un logiciel à part pour le serveur (pour l'instant on a un chemin vers l'exécutable vidjil).
***
oui, tout à fait. Donc une entrée de plus dans defs.py.
Un jour, nous aurons miTCR, TCRKlass... on doit pouvoir être générique, on commence soft en changeant juste l'exécutable :)
***
Plutôt que d'avoir une autre constante, il vaut mieux un dico des logiciels dispos et de leurs chemins…
***
oui (mais à terme, cela demandera aussi un autre controlleur pour miTCR, pas besoin pour l'instant)
***
« et ne pas publier de release avant d’avoir 1-2 semaines d’habitude sur cette version plus ou moins freezée. »
Je suis toujours d'accord avec ça mais on ne le fait pas.
Avoir une branche release_candidate qui chaque mois est remise à jour depuis dev. Seules les corrections de bug sont autorisées sur cette branche et la config vidjil-dev sur le serveur devrait être un vidjil compilé sur cette branche-là. Quand on veut faire une release, on la merge depuis master.
***
ok pour le principe. Sur release-candidate, uniquement des corrections de bug (ce qui veut dire avec test obligé)... mais aussi documentation et tests éventuellement.
Donc trois branches : dev / master / release-candidate ?
Ou peut-on faire avec deux branches seulement : master / release-candidate (on release directement depuis release-candidate) + dev s'il y a des choses qui ne sont pas mûrs pour aller dans master.
***
J'avais ça en tête évidemment : http://nvie.com/posts/a-successful-git-branching-model/
Ça me fait bizarre de penser que les releases ne seraient pas sur master (au moment où on fait la release, il pourrait s'être passé plein de choses sur master qui ne sont pas dans la release, plus les corrections de bugs qui sont communes).
***
Oui, exactement pour le modèle. Cela va changer les habitudes de tous (branche principale = dev).
Planning accéléré pour ce coup-ci : ce soir, release-candidate est branché.
***
release-candidate est branché... il faut tester depuis Jenkins. Est-ce possible sans dupliquer des jobs ?
***
@nobody