vidjil issueshttps://gitlab.inria.fr/vidjil/vidjil/-/issues2021-01-04T09:59:11+01:00https://gitlab.inria.fr/vidjil/vidjil/-/issues/4431Config nginx : disparition de la section sur les CGI2021-01-04T09:59:11+01:00Mikaël SalsonConfig nginx : disparition de la section sur les CGId10b65f3 a factorisé des points communs de config Nginx, mais dans la bataille on a perdu la section qui s'occupait de `cgi/`. Est-ce bien voulu ? Sinon à rétablir.d10b65f3 a factorisé des points communs de config Nginx, mais dans la bataille on a perdu la section qui s'occupait de `cgi/`. Est-ce bien voulu ? Sinon à rétablir.marc duezmarc duezhttps://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/4416Code quasi dupliqué et éliminiation de doublon2020-07-27T18:34:36+02:00Mikaël SalsonCode quasi dupliqué et éliminiation de doublonDans `sample_set.py`, méthode `index`, on a :
```python
if config :
query =[]
query2 = db(
(db.sequence_file.id == db.sample_set_membership.sequence_file_id)
& (db.sample_set_membership.sa...Dans `sample_set.py`, méthode `index`, on a :
```python
if config :
query =[]
query2 = db(
(db.sequence_file.id == db.sample_set_membership.sequence_file_id)
& (db.sample_set_membership.sample_set_id == sample_set_id)
).select(
left=db.results_file.on(
(db.results_file.sequence_file_id==db.sequence_file.id)
& (db.results_file.config_id==str(config_id))
& (db.results_file.hidden == False)
),
orderby = db.sequence_file.id|~db.results_file.run_date
)
previous=-1
for row in query2 :
if row.sequence_file.id != previous :
query.append(row)
previous=row.sequence_file.id
else:
query = db(
(db.sequence_file.id == db.sample_set_membership.sequence_file_id)
& (db.sample_set_membership.sample_set_id == sample_set_id)
).select(
left=db.results_file.on(
(db.results_file.sequence_file_id==db.sequence_file.id)
& (db.results_file.config_id==str(config_id))
& (db.results_file.hidden == False)
& (db.sample_set_membership.sequence_file_id == db.sequence_file.id)
& (db.sample_set.id == db.sample_set_membership.sample_set_id)
)
)
```
Plusieurs remarques/questions
* La requête est quasi la même entre le `if` et le `else`. Ne peut-on pas factoriser ?
* Le `for` à la fin du `if` sert à retirer des doublons. Est-ce encore utile ? Est-ce bien normal que la requête produise des doublons ?
* Le `else` correspond au cas où on n'a pas de configuration en paramètre, et donc `config_id` vaut -1. Est-ce que `(db.results_file.config_id==str(config_id))` va vraiment donner quelque chose ? Si non, pourquoi laisser cette requête ?
cc @duezmarc duezmarc duezhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/4415URL : problème sur dev2020-07-23T18:08:38+02:00Mikaël SalsonURL : problème sur devLa branche `dev` est déployée sur dev (vous suivez ?).
Les URL fournies donnent une 404 quand on essaie d'y ré-accéder.
https://dev.vidjil.org/browser/26921-25?La branche `dev` est déployée sur dev (vous suivez ?).
Les URL fournies donnent une 404 quand on essaie d'y ré-accéder.
https://dev.vidjil.org/browser/26921-25?marc duezmarc duezhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/4404Pouvoir donner des dates relatives entre timepoint2020-07-10T09:41:29+02:00Thonier FlorianPouvoir donner des dates relatives entre timepointJ'ai voulu manipuler des données de publications. Je n'ai pas les dates exactes d’échantillonnage, mais juste les dates relatives entre les samples (T0; t0+7j; ...)
Pour le moment nous n'avons pas moyen d'indiquer de tel informations. J...J'ai voulu manipuler des données de publications. Je n'ai pas les dates exactes d’échantillonnage, mais juste les dates relatives entre les samples (T0; t0+7j; ...)
Pour le moment nous n'avons pas moyen d'indiquer de tel informations. J'ai donc mis des dates fictives en commençant t0 au 1er janvier 2000, et essayer de calculer les autres dates en fonction de ce repère.
Je ne sais pas comment faire pour rentrer cette information. Un format spécial, un nouveau champ ?https://gitlab.inria.fr/vidjil/vidjil/-/issues/4403ajouter des traitements dans la base de données2020-07-10T09:31:38+02:00Thonier Florianajouter des traitements dans la base de donnéesJe suis en train de regarder des données de vaccination. J'aurais aimé voir les indications sur la timeline des différents points de traitement pour mieux intégrer l'effet sur ce que l'on voit.Je suis en train de regarder des données de vaccination. J'aurais aimé voir les indications sur la timeline des différents points de traitement pour mieux intégrer l'effet sur ce que l'on voit.https://gitlab.inria.fr/vidjil/vidjil/-/issues/4402Pouvoir modifier les samples en lot2020-07-10T09:29:33+02:00Thonier FlorianPouvoir modifier les samples en lotJ'ai chargé les données d'une publication contenant 7 samples.
Après lecture de la publication, j'ai décidé de rajouter des informations qui n'étaient pas présentes dans la description des données. Malheureusement, j'ai du ouvrir un pa...J'ai chargé les données d'une publication contenant 7 samples.
Après lecture de la publication, j'ai décidé de rajouter des informations qui n'étaient pas présentes dans la description des données. Malheureusement, j'ai du ouvrir un par un les samples pour ajouter cette information. Une version ou l'on pourrait mettre à jour un ensemble de sample aurait été plus rapide.https://gitlab.inria.fr/vidjil/vidjil/-/issues/4393Procedure pour transferer les patients d'un groupe à un autre2020-07-01T13:33:22+02:00Thonier FlorianProcedure pour transferer les patients d'un groupe à un autreJ'ai un utilisateur solo qui rejoint un groupe. Je voulais lui proposer de transférer ses données précédentes sur ce nouveau groupe.
Je ne suis pas certain de la procédure. Il y a quelques pistes dans #2485.
Je vais faire quelques test...J'ai un utilisateur solo qui rejoint un groupe. Je voulais lui proposer de transférer ses données précédentes sur ce nouveau groupe.
Je ne suis pas certain de la procédure. Il y a quelques pistes dans #2485.
Je vais faire quelques tests avant de décrire la procédure dans la doc.https://gitlab.inria.fr/vidjil/vidjil/-/issues/4392Sample apparaissant en double dans la vue database2020-07-01T11:32:05+02:00Thonier FlorianSample apparaissant en double dans la vue databaseJ'ai cherché une issue car il me semble que c'était déjà arriver, mais je n'ai pas trouvé.
J'ai un patient (38786) dont certains sample apparaissent plusieurs fois dans la liste (config null). En revanche, si je sélectionne une config (...J'ai cherché une issue car il me semble que c'était déjà arriver, mais je n'ai pas trouvé.
J'ai un patient (38786) dont certains sample apparaissent plusieurs fois dans la liste (config null). En revanche, si je sélectionne une config (`default` par exemple), je me retrouve alors avec une seule occurrence de chaque sample.
Le nombre de fois ou un sample est visible n'est pas constant non plus. Certain apparaissent 2 fois, d'autre 3 et enfin un 4fois.
![Screenshot_20200701_105823](/uploads/db698ee347b8f5b24b250f263471905f/Screenshot_20200701_105823.png)https://gitlab.inria.fr/vidjil/vidjil/-/issues/4391Effet nul du changement de permission sur un patient2020-07-01T11:22:58+02:00Thonier FlorianEffet nul du changement de permission sur un patientJ'ai un utilisateur qui a créé un patient sur son groupe perso avant de rejoindre finalement un groupe d'utilisateur commun à son équipe.
J'ai voulu changer les permissions sur ce patient pour ajouter le groupe commun (au moins en lect...J'ai un utilisateur qui a créé un patient sur son groupe perso avant de rejoindre finalement un groupe d'utilisateur commun à son équipe.
J'ai voulu changer les permissions sur ce patient pour ajouter le groupe commun (au moins en lecture). La procédure c'est bien passé, j'ai eu le bon retour du serveur (`access 'access' granted to GROUP`). Cependant, lorsque j'ouvre en impersonate d'un autre membre de ce groupe, je ne peux pas voir ce patient.
Au passage, dans la colonne groups de la page patient, je vois bien maintenant ce groupe apparaître (https://gitlab.inria.fr/vidjil/vidjil/-/issues/3174#note_358690).https://gitlab.inria.fr/vidjil/vidjil/-/issues/4390MySQL error: Access denied for user root@localhost2020-07-01T16:34:59+02:00Mikaël SalsonMySQL error: Access denied for user root@localhostErreur notée par @Nordine-Feddal sur le conteneur MySQL. Revient toutes les 30 secondes. Ce n'est pas bloquant, mais c'est juste intriguant. Qu'est-ce qui essaie de se connecter toutes les 30 secondes à la base de données ?
On a stoppé ...Erreur notée par @Nordine-Feddal sur le conteneur MySQL. Revient toutes les 30 secondes. Ce n'est pas bloquant, mais c'est juste intriguant. Qu'est-ce qui essaie de se connecter toutes les 30 secondes à la base de données ?
On a stoppé le conteneur `workers` et les tentatives de connexion se sont poursuivies.https://gitlab.inria.fr/vidjil/vidjil/-/issues/4389améliorer le impersonate : bouton direct + bouton fin2023-10-26T16:01:26+02:00Thonier Florianaméliorer le impersonate : bouton direct + bouton finJe pense à trois points sur le impersonate:
* 1. avoir un bouton `impersonate` à la fin des lignes de la table user
* 2. avoir une liste dropdown avec filtre intégré. J'avais regadé il y a quelques temps et il fallait généralement inté...Je pense à trois points sur le impersonate:
* 1. avoir un bouton `impersonate` à la fin des lignes de la table user
* 2. avoir une liste dropdown avec filtre intégré. J'avais regadé il y a quelques temps et il fallait généralement intégrer un plugin reposant sur du jquery pour avoir quelque chose de facilement fonctionel et esthétique (pas certain que ce soit notre choix). Mais à la rigueur ca pourait possiblement être employé sur d'autres listes ?
* 3. avoir un bouton pour enlever le impersonate automatiquement sans avoir à remonter la liste pour cliquer sur la premier ligne de la liste.
Le 1 et 3 sont très simple à mettre en place je pense. Le 2 serait un vrai plus et éviterait d’avoir à passer par la table user pour retrouver un utilisateur que l'on souhaite impersonate, mais demande plus de réflexion.https://gitlab.inria.fr/vidjil/vidjil/-/issues/4388Supprimer le .vidjil après l'avoir inséré en base de données2020-09-30T19:01:54+02:00Mikaël SalsonSupprimer le .vidjil après l'avoir inséré en base de donnéescf. https://gitlab.inria.fr/vidjil/vdj/-/issues/1083#note_354189
Le fichier est dupliqué : il est à la fois dans le répertoire `tmp/` et également dans le répertoire `results` lorsque stocké dans la base de données. Autant le supprimer ...cf. https://gitlab.inria.fr/vidjil/vdj/-/issues/1083#note_354189
Le fichier est dupliqué : il est à la fois dans le répertoire `tmp/` et également dans le répertoire `results` lorsque stocké dans la base de données. Autant le supprimer dès qu'il est inséré (avec succès) dans la BDDhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/4382Ajout de configurations "par locus"2020-06-26T15:18:48+02:00Thonier FlorianAjout de configurations "par locus"Dites moi, la config IGH ne sort pas les IGH+ ?
J'ai quelqu'un qui souhaite voir ses IGH+, mais comme ils sont mineurs dans le fichier, en multi ca ne les ressort pas.
Il faudrait ajouter une nouvelle configuration dédiée. MAis tant q...Dites moi, la config IGH ne sort pas les IGH+ ?
J'ai quelqu'un qui souhaite voir ses IGH+, mais comme ils sont mineurs dans le fichier, en multi ca ne les ressort pas.
Il faudrait ajouter une nouvelle configuration dédiée. MAis tant qu'à faire, on pourrait imaginer une classification `splitted locus` ou quelque chose de ce genre là ? On y deplacerait la config IGH simple ?
Je crée la config (sur la base de multi), vous me confirmer avant de la mettre en accès à cet utilisateur (ou à tous).https://gitlab.inria.fr/vidjil/vidjil/-/issues/4372self.user non défini alors que l'utilisateur est loggé2020-06-23T11:03:26+02:00Mikaël Salsonself.user non défini alors que l'utilisateur est loggéOn a des erreurs serveur (en l'occurrence de @flothoni) quand il essaie d'accéder à [une URL](https://db.vidjil.org/vidjil/results_file/download?filename=079301.vdj.fa&results_file_id=79301), alors qu'il est bien connecté.
[L'erreur](ht...On a des erreurs serveur (en l'occurrence de @flothoni) quand il essaie d'accéder à [une URL](https://db.vidjil.org/vidjil/results_file/download?filename=079301.vdj.fa&results_file_id=79301), alors qu'il est bien connecté.
[L'erreur](https://db.vidjil.org/admin/default/ticket/vidjil/131.254.15.191.2020-06-23.10-21-33.239d60b6-68f2-42f5-b398-9e0f6ed1fa15) montre que `self.user` vaut `None`, ce qui est étonnant puisqu'il est bien loggé.
```
Traceback (most recent call last):
File "/usr/share/vidjil/server/web2py/gluon/restricted.py", line 219, in restricted
exec(ccode, environment)
File "/usr/share/vidjil/server/web2py/applications/vidjil/controllers/results_file.py", line 182, in <module>
File "/usr/share/vidjil/server/web2py/gluon/globals.py", line 421, in <lambda>
self._caller = lambda f: f()
File "/usr/share/vidjil/server/web2py/gluon/cache.py", line 645, in wrapped_f
rtn = func()
File "/usr/share/vidjil/server/web2py/applications/vidjil/controllers/results_file.py", line 120, in download
if auth.can_view_sample_set(sample_set_id) and not '..' in request.vars['filename']:
File "/usr/share/vidjil/server/web2py/applications/vidjil/models/VidjilAuth.py", line 466, in can_view_sample_set
perm = self.get_permission(PermissionEnum.read.value, 'sample_set', sample_set_id, user)\
File "/usr/share/vidjil/server/web2py/applications/vidjil/models/VidjilAuth.py", line 180, in get_permission
perm_groups = self.get_permission_groups(action, user)
File "/usr/share/vidjil/server/web2py/applications/vidjil/models/VidjilAuth.py", line 118, in get_permission_groups
user = self.user.id
AttributeError: 'NoneType' object has no attribute 'id'
```marc duezmarc duezhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/4361Pouvoir choisir plusieurs fichiers de reads pour un sample avec un disque réseau2021-04-23T13:42:35+02:00Mikaël SalsonPouvoir choisir plusieurs fichiers de reads pour un sample avec un disque réseauNotre mode de sélection de fichier via le réseau ne permet pas de sélectionner plusieurs fichiers de reads et donc ne permet pas de lancer de pre-process.
Cela devrait être rectifié (cf. vdj#1081).Notre mode de sélection de fichier via le réseau ne permet pas de sélectionner plusieurs fichiers de reads et donc ne permet pas de lancer de pre-process.
Cela devrait être rectifié (cf. vdj#1081).https://gitlab.inria.fr/vidjil/vidjil/-/issues/4359URL: problème si l'on recharge une page en local2020-12-02T20:07:45+01:00Thonier FlorianURL: problème si l'on recharge une page en localEn lien suite à la MR de #2792.
Depuis que le travail sur les URL est mergé, j'ai un souci dans mon implémentation locale. J'ai du tester des erreurs de chargement du client. Et j'ai donc souvent rafraîchit ma page avec un petit F5.
Il...En lien suite à la MR de #2792.
Depuis que le travail sur les URL est mergé, j'ai un souci dans mon implémentation locale. J'ai du tester des erreurs de chargement du client. Et j'ai donc souvent rafraîchit ma page avec un petit F5.
Il m'est arrivé de me voir bloquer par la gestion des URLs.
Les url finissent parfois par un `?` et je me retrouve avec une erreur 404.
cc @duezhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/4337Warning si version très ancienne de l'algorithme (et vue database)2020-06-11T09:52:07+02:00Thonier FlorianWarning si version très ancienne de l'algorithme (et vue database)Hier une utilisatrice qui n'avait pas utilisé vidjil depuis des années m'a demandé de réactiver son compte.
Dans le cas présent, il n'y avait pas de données. Mais si elle avait voulu rajouter un ou plusieurs samples dans ses run/sets, el...Hier une utilisatrice qui n'avait pas utilisé vidjil depuis des années m'a demandé de réactiver son compte.
Dans le cas présent, il n'y avait pas de données. Mais si elle avait voulu rajouter un ou plusieurs samples dans ses run/sets, elle aurait potentiellement voulu relancer les analyses avec la dernière version de l'algorithme.
Pour ce faire, il faudrait avoir l'information en base pour ne pas avoir a reparcourir le fichier de résultat, et l'information de la version courante du logiciel (le tag release à minima).
On a un warning potentiel non encore implémenté `W0x` qui indique si l'algo utilisé est outdated. Mais on pourrait aussi indiqué l'alerte en amont, dans la page patient/run.
De la même manière, on pourrait aussi imaginer que le bouton permettant de relancer toutes les analyses permette de relancer différentiellement en fonction de ce paramètre (une idée en l'air, dans la pratique l'option de tout relancer indifféremment me semble en réalité plus pertinente, mais je le mentionne au cas ou).
D'une manière générale, y-a-t-il d'autre informations/warnings qu'il serait pertinent de faire remonter avant l'ouverture ? Cela recoupe aussi des informations que l'on pourrait avoir potentiellement dans la vue statshttps://gitlab.inria.fr/vidjil/vidjil/-/issues/4330Avoir une date de péremption d'un utilisateur dans un groupe2020-06-10T22:16:51+02:00Thonier FlorianAvoir une date de péremption d'un utilisateur dans un groupeIl peut arriver que certaines équipes connaissent d'avance une date théorique de fin de contrat d'un membre (un CDD, un Phd ou un stagiaire).
On pourrait imaginer qu'un compte puisse avoir une date d'expiration à la création. Dans ce ca...Il peut arriver que certaines équipes connaissent d'avance une date théorique de fin de contrat d'un membre (un CDD, un Phd ou un stagiaire).
On pourrait imaginer qu'un compte puisse avoir une date d'expiration à la création. Dans ce cas, on fait une fois par jours/semaine le tour des comptes et on prévient/suspend un compte.
La suspension aurait pour effet de changer le mot de passe par un autre, bloquant ainsi l'exploitation du compte.
Tel que je le vois, on pourrait ajouter un champs dans la table des utilisateurs avec une date. Celle-ci pourrait être instancier à la création si on la connaît, ou laissé à nulle, (ou repoussée en cas de demande). On pourrait aussi l'utiliser pour prévenir les utilisateurs à X jours avant de l'appliquer. A la date, on a une tâche cron qui s'occupe de faire la manip.
Il y a probablement un mécanisme mixte avec ma proposition de supprimer les séquences d'un utilisateur non connecté depuis XX mois.https://gitlab.inria.fr/vidjil/vidjil/-/issues/4328Account creation: Retour dans le client si l'adresse mail est déjà utilisée2021-02-09T16:15:37+01:00Thonier FlorianAccount creation: Retour dans le client si l'adresse mail est déjà utiliséeJe viens de me faire avoir a tenter une création de compte d'un utilisateur existant déjà. Lorsque j'ai fait validé, je suis tombé sur l'affichage du dernier compte créé, et comme j'avais switché de fenêtre pour faire le mail, je ne m'e...Je viens de me faire avoir a tenter une création de compte d'un utilisateur existant déjà. Lorsque j'ai fait validé, je suis tombé sur l'affichage du dernier compte créé, et comme j'avais switché de fenêtre pour faire le mail, je ne m'en suis pas aperçu.
Il faudrait avoir le bouton de validation de création de compte grisé si l'ensemble des champs ne sont pas rempli ou si l'adresse mail est déjà utilisée. Pour cela, il faudrait avoir une requête vers le serveur pour savoir si elle est déjà présente dans la base de données.