vidjil issueshttps://gitlab.inria.fr/vidjil/vidjil/-/issues2019-10-31T18:41:52+01:00https://gitlab.inria.fr/vidjil/vidjil/-/issues/4021Distributions et noms des axes2019-10-31T18:41:52+01:00Mathieu GiraudDistributions et noms des axesÉvoqué il y a quelques jours puis hier avec @flothoni.
Comment nommer les axes ?
Actuellement `seg3` dans ~"server-fuse" est `v` dans le ~client.
On pourra avoir une réflexion globale sur les axes un jour, en attendant éviter de défini...Évoqué il y a quelques jours puis hier avec @flothoni.
Comment nommer les axes ?
Actuellement `seg3` dans ~"server-fuse" est `v` dans le ~client.
On pourra avoir une réflexion globale sur les axes un jour, en attendant éviter de définir des nouvelles choses et mettre le minimum de choses hard-codées.https://gitlab.inria.fr/vidjil/vidjil/-/issues/3986Arrondis et distributions2019-11-26T14:37:30+01:00Mathieu GiraudArrondis et distributionsÉvoqué plusieurs fois ces derniers temps à propos de #3902/!515 avec @flothoni et @mikael-s.
Pour l'instant, `average length` est arrondi à 1.0 (mais des valeurs telles que 0.1 pourraient être envisageables).
`GC content` pourrait l'êtr...Évoqué plusieurs fois ces derniers temps à propos de #3902/!515 avec @flothoni et @mikael-s.
Pour l'instant, `average length` est arrondi à 1.0 (mais des valeurs telles que 0.1 pourraient être envisageables).
`GC content` pourrait l'être par exemple à 0.001 / 0.1%.
Si on a arrondi un axe à 1.0, il manque des infos pour l'afficher à 0.5 dans le client.
Mais est-ce bien le scatterplot / ~"client-responsive" qui choisit la largeur des barres ? Et en cas de zoom/focus ?
On peut déjà faire !515 en prenant 1.0 pour `average length`, et y réfléchir plus en détail après.https://gitlab.inria.fr/vidjil/vidjil/-/issues/3980fuse.py: args.multi dead code ?2019-09-13T10:14:20+02:00Mathieu Giraudfuse.py: args.multi dead code ?https://gitlab.inria.fr/vidjil/vidjil/-/issues/3976fuse.py: supprimer l'ancien 'distribution' ?2019-09-10T10:22:38+02:00Mathieu Giraudfuse.py: supprimer l'ancien 'distribution' ?On avait un très ancien mécanisme sortant des choses comme:
```
"distribution": {
"IGH": [
0,
3
],
"0.1": [
0,
0
],
"0.01": [
0,
255647
], ...
```
M...On avait un très ancien mécanisme sortant des choses comme:
```
"distribution": {
"IGH": [
0,
3
],
"0.1": [
0,
0
],
"0.01": [
0,
255647
], ...
```
Même si !504 ne fait pas l'équivalent, l'ancien code me paraît superflu : sert-il à quelque chose ? À un moment on avait essayé d'afficher cela, mais on avait laissé tomber.
cc @flothoni https://gitlab.inria.fr/vidjil/vidjil/-/issues/3970fuse.py: quelle séquence conserver ? plus grande, meilleur top, plus de reads ?2022-05-20T11:45:37+02:00Thonier Florianfuse.py: quelle séquence conserver ? plus grande, meilleur top, plus de reads ?Un utilisateur [compare deux protocoles](https://app.vidjil.org/browser/index.html?custom=60329&custom=60331&clone=0) IGH: FR1 et primer leader.
Mais lors du fuse, nous conservons par défaut la séquence de la première analyse, à priori...Un utilisateur [compare deux protocoles](https://app.vidjil.org/browser/index.html?custom=60329&custom=60331&clone=0) IGH: FR1 et primer leader.
Mais lors du fuse, nous conservons par défaut la séquence de la première analyse, à priori sans considération sur la taille, qui est pourtant bien plus significative dans le second cas.
Nous devrions rajouter une vérification dans le script.https://gitlab.inria.fr/vidjil/vidjil/-/issues/3862Analyse FAILED avec un résultat2019-03-25T11:12:45+01:00Anne de SeptenvilleAnalyse FAILED avec un résultatCette analyse étais notée FAILED à côté du nom du sample, et pourtant il semble bien y avoir un résultat (obtenu à 16h04) j'ai relancé l'analyse à 16h27 avant de voir que ça avait quand même fonctionné (?).
https://vdb.vidjil.org/brow...Cette analyse étais notée FAILED à côté du nom du sample, et pourtant il semble bien y avoir un résultat (obtenu à 16h04) j'ai relancé l'analyse à 16h27 avant de voir que ça avait quand même fonctionné (?).
https://vdb.vidjil.org/browser/index.html?set=30585&config=54https://gitlab.inria.fr/vidjil/vidjil/-/issues/3855Comparaison / overlap de répertoires : combien de clones ?2019-04-08T14:13:20+02:00Mathieu GiraudComparaison / overlap de répertoires : combien de clones ?@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. Discussion sur l'aspect client dans #...@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. Discussion sur l'aspect client dans #3857, ici discussion sur le nombre de clones : combien en faut-il pour étudier `A\B` et `B\A`, `A or B`, `A and B`, voire `A xor B` ?
https://gitlab.inria.fr/vidjil/vidjil/-/issues/3853Comment calculer les informations à stocker pour des données pairées ou singl...2019-03-20T18:10:54+01:00Mikaël SalsonComment calculer les informations à stocker pour des données pairées ou single-cell ?Dans #2344 on parle de la manière de stocker les données. Mais qui produit ce fichier ? et comment ?
Pour un fuse sur ce type de données que veut dire un `-t 100` ? Si on a des chaines pairées on n'a pas envie de ne se retrouver qu'avec...Dans #2344 on parle de la manière de stocker les données. Mais qui produit ce fichier ? et comment ?
Pour un fuse sur ce type de données que veut dire un `-t 100` ? Si on a des chaines pairées on n'a pas envie de ne se retrouver qu'avec un seul clone de la paire (parce que le second ne serait pas dans le top 100). En gros on voudrait les 100 meilleures paires.
Mais avec du single cell, c'est différent. On ne veut pas les clones des 100 "meilleures" cellules. Que veut-on ? Le top X de toutes les cellules ?
Et qui produit le fichier ? Si on a 1000 cellules, c'est 1000 lancement de Vidjil-algo. Et donc c'est le fuse qui se charge de produire un fichier .vidjil final à partir des 1000 .vidjil ? (je ne parle volontairement pas des données pairées ici car je ne sais même pas sous quelle forme sont les données)https://gitlab.inria.fr/vidjil/vidjil/-/issues/3828Soustraire les clones communs à deux échantillons / comparaison de répertoires2022-06-29T16:05:18+02:00Mathieu GiraudSoustraire les clones communs à deux échantillons / comparaison de répertoiresDemande de ~"Amiens\-Nordine" : avoir un moyen d'enlever les clones communs : créer un nouveau sample virtuel ? Modifier un sample existant ?
But: voir les clones matures / immatures séparément, (CD19-/CD34- triés)
On peut déjà faire u...Demande de ~"Amiens\-Nordine" : avoir un moyen d'enlever les clones communs : créer un nouveau sample virtuel ? Modifier un sample existant ?
But: voir les clones matures / immatures séparément, (CD19-/CD34- triés)
On peut déjà faire un `hide`, mais un vrai sample permettrait plus de choses, afficher les clones d'intérêt suivant les V ou tout axe... et de refiltrer ensuite.https://gitlab.inria.fr/vidjil/vidjil/-/issues/3676tools/defs.py : ne plus le versionner (et .sample, docker)2021-02-09T17:31:44+01:00Mikaël Salsontools/defs.py : ne plus le versionner (et .sample, docker)tools/defs.py est pour l'instant versionné ce qui n'est pas vraiment souhaitable. On devrait avoir un système similaire à ce qu'on a pour le serveur.
Il faudrait donc :
* [ ] faire un fichier defs.py.sample
* [ ] intégrer un fichier de...tools/defs.py est pour l'instant versionné ce qui n'est pas vraiment souhaitable. On devrait avoir un système similaire à ce qu'on a pour le serveur.
Il faudrait donc :
* [ ] faire un fichier defs.py.sample
* [ ] intégrer un fichier defs.py externe dans le conteneur dockerhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/3256Export csv depuis fuse.py2019-01-10T16:11:03+01:00Mathieu GiraudExport csv depuis fuse.pyVoir #2828Voir #2828https://gitlab.inria.fr/vidjil/vidjil/-/issues/3254fuse.py, et champs à merger comme diversity2019-01-10T15:21:22+01:00Mathieu Giraudfuse.py, et champs à merger comme diversityVoir ce qui a été fait dans !176 : est-ce que cela ne peut pas être transformé en quelque chose d'encore plus générique pour fusionner une liste de champs quelconques ?
cc @flothoniVoir ce qui a été fait dans !176 : est-ce que cela ne peut pas être transformé en quelque chose d'encore plus générique pour fusionner une liste de champs quelconques ?
cc @flothonihttps://gitlab.inria.fr/vidjil/vidjil/-/issues/3236fuse.py / ijson: merge de gros fichiers en O(top) en mémoire2018-07-23T13:53:48+02:00Mathieu Giraudfuse.py / ijson: merge de gros fichiers en O(top) en mémoireAprès #3235, on pourra implémenter fuse en deux passes (quand besoin pour des gros fichiers):
- une passe lire tous les top 100 de tous les points
- on fusionne ces tops
- une autre passe pour récupérer/fusionner tous les clones de c...Après #3235, on pourra implémenter fuse en deux passes (quand besoin pour des gros fichiers):
- une passe lire tous les top 100 de tous les points
- on fusionne ces tops
- une autre passe pour récupérer/fusionner tous les clones de cette liste, encore dans tous les points
cc @RyanHerbhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/3235Chargement partiel de .vidjil avec ijson2018-08-07T10:31:05+02:00Mathieu GiraudChargement partiel de .vidjil avec ijsonDiscuté ensemble : plus raffiné que #3234, charger un gros fichier de clones, mais ne garder que les clones
- qui ont `top` en-dessous de 100 (note: il peut y en avoir plus/moins que 100).
Cas d'usage (pour plus tard) : #3236
Voir...Discuté ensemble : plus raffiné que #3234, charger un gros fichier de clones, mais ne garder que les clones
- qui ont `top` en-dessous de 100 (note: il peut y en avoir plus/moins que 100).
Cas d'usage (pour plus tard) : #3236
Voir #2240.Ryan HerbertRyan Herberthttps://gitlab.inria.fr/vidjil/vidjil/-/issues/3234Chargement total de .vidjil avec ijson2018-08-07T10:31:04+02:00Mathieu GiraudChargement total de .vidjil avec ijson#2240
Cela pourra presque être pluggé directement dans ~"server\-fuse".#2240
Cela pourra presque être pluggé directement dans ~"server\-fuse".Ryan HerbertRyan Herberthttps://gitlab.inria.fr/vidjil/vidjil/-/issues/3196.vidjil: better document `top` and/or make it optionnal2019-07-23T10:03:08+02:00Mathieu Giraud.vidjil: better document `top` and/or make it optionnalIn https://github.com/ablab/y-tools/commit/41687407b738436b2c05615afa24548f83fbc595#diff-dfa29d568694d4d8189ce3e61b44972dR79
@eodus assigns a `"top": 1` for every clone. We are doing almost the same in `vidjil-algo` (`json_clone["top"] =...In https://github.com/ablab/y-tools/commit/41687407b738436b2c05615afa24548f83fbc595#diff-dfa29d568694d4d8189ce3e61b44972dR79
@eodus assigns a `"top": 1` for every clone. We are doing almost the same in `vidjil-algo` (`json_clone["top"] = 0`).
It looks like that the actual `top` value used in the ~client is then computed by fuse.py. We should investigate and better document the value.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/3160fuse.py: codec can't encode character2018-04-10T15:29:47+02:00Mikaël Salsonfuse.py: codec can't encode characterUn processus (37850) a échoué (utilisateur 7). C'est le fuse qui pose problème. Voici la sortie :
```
### Cut merged file, keeping window in the top 100 for at least one point
<ListWindows: [12, 12] 24>
Traceback (most recent ...Un processus (37850) a échoué (utilisateur 7). C'est le fuse qui pose problème. Voici la sortie :
```
### Cut merged file, keeping window in the top 100 for at least one point
<ListWindows: [12, 12] 24>
Traceback (most recent call last):
File "../../tools/fuse.py", line 771, in <module>
main()
File "../../tools/fuse.py", line 754, in main
fasta_file.write(fasta)
UnicodeEncodeError: 'ascii' codec can't encode character u'\xa0' in position 81: ordinal not in range(128)
```
Et voici le bout de code en question dans `fuse.py` :
```python
#compute similarity matrix
if len(jlist_fused.d["clones"]) < SIMILARITY_LIMIT :
fasta = ""
for i in range(len(jlist_fused.d["clones"])) :
fasta += ">>" + str(i) + "\n"
fasta += jlist_fused.d["clones"][i].d["id"] + "\n"
fasta_file = tempfile.NamedTemporaryFile(delete=False)
fasta_file.write(fasta)
```
Je ne vois pas pourquoi il y aurait un caractère bizarre qui se balade là-dedans.https://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/3058warnings et fuse : une entrée par sample2019-03-06T11:54:22+01:00Mathieu Giraudwarnings et fuse : une entrée par sampleDepuis #3029 :
http://app.vidjil.org/browser/?custom=29334&custom=35851&plot=size,sizeOtherSample,grid&clone=12
-> problème, un `undefined` est dans `m.clone(12).warn`. Je suppose qu'il est déjà dans le json, vient de ~"server-fuse" ?Depuis #3029 :
http://app.vidjil.org/browser/?custom=29334&custom=35851&plot=size,sizeOtherSample,grid&clone=12
-> problème, un `undefined` est dans `m.clone(12).warn`. Je suppose qu'il est déjà dans le json, vient de ~"server-fuse" ?