vidjil issueshttps://gitlab.inria.fr/vidjil/vidjil/-/issues2023-01-13T16:47:09+01:00https://gitlab.inria.fr/vidjil/vidjil/-/issues/4165Nouvelle vue pour l'affichage des warnings2023-01-13T16:47:09+01:00Mikaël SalsonNouvelle vue pour l'affichage des warningsUne manière d'améliorer l'affichage (car maintenant trop de warnings partout #4049) cela serait de proposer un panneau où tous les warning présents seraient listés (dans l'ordre de leur priorité).
Pour chaque warning on aurait la liste ...Une manière d'améliorer l'affichage (car maintenant trop de warnings partout #4049) cela serait de proposer un panneau où tous les warning présents seraient listés (dans l'ordre de leur priorité).
Pour chaque warning on aurait la liste des clones concernés (dans une sorte de segmenteur ?). Parmi le lot de warnings, l'utilisatrice peut ainsi voir rapidement lesquels lui semblent les plus pertinents.
On n'aurait plus besoin d'inonder l'interface de petits :warning:, on pourrait se contenter d'afficher ceux vraiment importants. Et, dans le menu par exemple, on pourrait avoir une icône indiquant le nombre de warnings total, cliquer dessus permettrait d'accéder au panneau que je propose.Web 2022.122021-05-17https://gitlab.inria.fr/vidjil/vidjil/-/issues/4068Mécanisme pour afficher/comparer des valeurs sur tous les samples2023-06-28T17:12:15+02:00Mathieu GiraudMécanisme pour afficher/comparer des valeurs sur tous les samplesGénéralise #4038.
@flothoni :
> Il faudrait donc avoir accès à un tableau qui indique les valeurs pour tout les samples.
Et/ou une manière d'afficher cela dans le ~"client-graph".
Les valeurs peuvent être aussi ~"bio-external-data" (o...Généralise #4038.
@flothoni :
> Il faudrait donc avoir accès à un tableau qui indique les valeurs pour tout les samples.
Et/ou une manière d'afficher cela dans le ~"client-graph".
Les valeurs peuvent être aussi ~"bio-external-data" (où en est-on, cela fonctionne-t-il toujours ?) #1367
> Il faudrait un bouton dédié ou une entrée dans un menu ?
> Au passage, on pourrait souhaiter la même démarche pour l'ensemble du log des samples, pouvoir comparer en une fois les longueurs moyennes des reads du locus XXX, les nombres de reads d'origines, ... De plus, il faudrait probablement être capable de transformer le log en variables.
cc @duezhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/3752Utiliser une version fixe de Web2py2019-02-27T23:01:10+01:00Mikaël SalsonUtiliser une version fixe de Web2pyNous utilisons, à la fois pour nos tests et pour nos serveurs de prod, les dernières versions des **sources** de Web2py disponibles (pas les dernières releases). Rien ne garantit donc le bon fonctionnement de ces packages comme l'illustr...Nous utilisons, à la fois pour nos tests et pour nos serveurs de prod, les dernières versions des **sources** de Web2py disponibles (pas les dernières releases). Rien ne garantit donc le bon fonctionnement de ces packages comme l'illustre #3751.
Ne devrait-on pas plutôt fixer la version de Web2py utilisée ?https://gitlab.inria.fr/vidjil/vidjil/-/issues/3624Garder les fichiers bruts tels qu'uploadés ?2021-03-17T09:35:49+01:00Mikaël SalsonGarder les fichiers bruts tels qu'uploadés ?Beaucoup de tâches FAILED ces derniers temps : une hypothèse serait des problèmes avec Pear. Le problème c'est qu'après le pre-process on n'a plus accès aux fichiers d'origine pour reproduire un éventuel problème.
Faudrait-il conserver ...Beaucoup de tâches FAILED ces derniers temps : une hypothèse serait des problèmes avec Pear. Le problème c'est qu'après le pre-process on n'a plus accès aux fichiers d'origine pour reproduire un éventuel problème.
Faudrait-il conserver les fichiers tels qu'ils ont été uploadés ? Au moins quelques jours pour éviter de saturer l'espace disque ?https://gitlab.inria.fr/vidjil/vidjil/-/issues/3554bouton dans l'interface pour relancer le swheduler web2py2021-03-05T15:51:00+01:00Thonier Florianbouton dans l'interface pour relancer le swheduler web2pyUne petite question dont je ne suis pas certain de la pertinence: serait-il envisageable de rajouter un bouton pour relancer automatiquement la commande qui relance le scheduler ?
Techniquement, je présume que ce n'est pas si compliqué...Une petite question dont je ne suis pas certain de la pertinence: serait-il envisageable de rajouter un bouton pour relancer automatiquement la commande qui relance le scheduler ?
Techniquement, je présume que ce n'est pas si compliqué que ça. Cependant, ça risque de pérenniser un problème dont on ne connaît toujours pas l'origine (il me semble).
@magiraud @mikael\-s @RyanHerbhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/3360Gestion plus propre des warnings2021-02-03T09:09:32+01:00Mikaël SalsonGestion plus propre des warningsPour l'instant l'ajout d'un warning se fait dans le JSON. Si on veut afficher quelque chose sur la sortie standard c'est géré indépendamment, avec des messages qui peuvent diverger.
Ce n'est donc pas très générique.
De plus l'ajout d'un...Pour l'instant l'ajout d'un warning se fait dans le JSON. Si on veut afficher quelque chose sur la sortie standard c'est géré indépendamment, avec des messages qui peuvent diverger.
Ce n'est donc pas très générique.
De plus l'ajout d'un warning dans le JSON se fait par un code unique, sous forme de chaîne, suivie d'une description.
Plusieurs éléments :
* [ ] Ne pourrait-on pas avoir une constante pour chaque warning (toujours préférable aux chaînes pour lesquelles on risque une typo) ?
* [ ] Le message ne peut-il pas être mis automatiquement (tous définis dans un tableau commun) plutôt que d'avoir à le réécrire à chaque fois ?
* [x] Les warnings ne peuvent-ils pas exister indépendamment du JSON ? Ensuite c'est chaque type de sortie qui définit ce qu'elle fait du warning.https://gitlab.inria.fr/vidjil/vidjil/-/issues/2891Upload de plusieurs fichiers .fasta via un .zip / .csv2023-03-28T16:10:53+02:00Mathieu GiraudUpload de plusieurs fichiers .fasta via un .zip / .csvTâche originelle dans #1362
PAN a envoyé un .zip avec 4 fichiers dedans. Et ça on ne sait pas faire. Il faudrait « juste » décompresser l'archive et itérer sur tous les fichiers et les remplir tous avec les mêmes propriétés.
***
Oui, c...Tâche originelle dans #1362
PAN a envoyé un .zip avec 4 fichiers dedans. Et ça on ne sait pas faire. Il faudrait « juste » décompresser l'archive et itérer sur tous les fichiers et les remplir tous avec les mêmes propriétés.
***
Oui, cela simplifierait beaucoup certains usages... mais ce n'est pas si évident à faire :
- le "sampling date" peut ne pas être le même (mais on pourrait faire une passe manuelle ensuite)
- et surtout, si on décompresse, il faut le faire dans environnement sécurisé pour que cela ne mette pas le bazar dans nos fichiers
- et éduquer les utilisateurs pour que le .zip soit uniquement des fichier fasta (pas un fichier .txt ou je ne sais quoi en plus)...
En mode production MRD, ce n'est pas forcément nécessaire (un point à la fois).
***
Mentionné par nos amis du NHS.
Pour eux, ce serait même *différents patients* ? Au passage, c'est vrai que c'est plus réaliste. En production, on a le(s) run(s) de la semaine, avec du diag, et des MRDs de patients existants
***
Vraiment pas facile...
Début de réflexion : on uploade une archive, cela ajoute les fichiers, on arrive sur un tableau avec la liste des fichiers et des controles pour ajouter au patient qu'on veut ?
On suppose par contre que producer / sequencer sont le même pour tous...
Mais primers, non.
Pb: tant que le .zip n'est pas arrivé, on ne peut pas afficher le tableau.
Bof / bof...
Il faudrait expliciter le scénario avec nos users pour voir ce qu'ils veulent vraiment.
***
Est-ce vraiment un problème de ne pas voir le tableau ? De toute façon on voit l'upload en cours dans le widget.
***
Remis au goût du jour pour Lyon ?
***
Après le R1+R2, il faudra voir si on remet cela au goût du jour.
Heinrik a exactement le problème d'uploader régulièrement >20 fichiers, il faudrait un moyen de le faire plus rapidement.
À voir comment cela pourrait marcher avec le R1+R2.
***
Discuté lors de la Rando 2016.
Pas prioritaire. L'idée pour les prochains mois est déjà d'utiliser les "runs", de voir si nos utilisateurs aiment cela.
***
Ping.
Henrik est revenu à la charge. La solution la plus simple est un upload de plusieurs fichiers pour *un même* patient. À mon avis on peut bidouiller un truc côté Javascript, à voir si c'est souhaitable (récupère tous les fichiers et les envoie 1 par 1 ou 2 par 2 au contrôleur).
***
@nobody
cc @RyanHerbWeb 2023.10https://gitlab.inria.fr/vidjil/vidjil/-/issues/2475Réduire le nombre de requêtes pour la requête Sample_Set2024-02-06T11:57:18+01:00Ryan HerbertRéduire le nombre de requêtes pour la requête Sample_SetDans la même veine que #2439 il serait bien de réduire la charge de la BDD, et d'essayer de rendre l'application plus rapide.
Voici ce qu'il se passe du point de vue de la BDD pour une requête de 4 patients (découpée en plusieurs blocks...Dans la même veine que #2439 il serait bien de réduire la charge de la BDD, et d'essayer de rendre l'application plus rapide.
Voici ce qu'il se passe du point de vue de la BDD pour une requête de 4 patients (découpée en plusieurs blocks à mesure que j'identifie les requêtes) :
``` SQL
SELECT 1
SET FOREIGN_KEY_CHECKS=1
SET sql_mode='NO_BACKSLASH_ESCAPES'
SELECT auth_membership.id, auth_membership.user_id, auth_membership.group_id FROM auth_membership WHERE (auth_membership.user_id = 1)
SELECT auth_group.id, auth_group.role, auth_group.description FROM auth_group WHERE (auth_group.id = 1)
SELECT auth_group.id, auth_group.role, auth_group.description FROM auth_group WHERE (auth_group.id = 2)
SELECT auth_group.id, auth_group.role, auth_group.description FROM auth_group WHERE (auth_group.id = 3)
commit
```
Ces requêtes sont de `self.has_permission()` dans `vidjil_accessible_query()`. Le but étant de vérifier si l'utilisateur a les accès "admin" pour cette table et cette action:
``` SQL
SELECT auth_membership.group_id FROM auth_membership WHERE (auth_membership.user_id = 1)
SELECT auth_permission.group_id FROM auth_permission WHERE (((auth_permission.name = 'read') AND (auth_permission.table_name = 'patient')) AND (auth_permission.record_id = 0))
```
Je suis admin, donc on renvoi tous les patients:
``` SQL
SELECT patient.id, patient.first_name, patient.last_name, patient.birth, patient.info, patient.id_label, patient.creator, patient.sample_set_id FROM patient WHERE (patient.id > 0) ORDER BY patient.id DESC LIMIT 51 OFFSET 0
```
Ici c'est un appel à `load_permissions()`, qui fait appel à `vidjil_accessible_query()` deux fois (pour charger tous les patients/runs/sets en mémoire et stocker la permission):
``` SQL
SELECT auth_membership.group_id FROM auth_membership WHERE (auth_membership.user_id = 1)
SELECT auth_permission.group_id FROM auth_permission WHERE (((auth_permission.name = 'read') AND (auth_permission.table_name = 'patient')) AND (auth_permission.record_id = 0))
SELECT patient.id FROM patient WHERE (patient.id > 0)
SELECT auth_membership.group_id FROM auth_membership WHERE (auth_membership.user_id = 1)
SELECT auth_permission.group_id FROM auth_permission WHERE (((auth_permission.name = 'admin') AND (auth_permission.table_name = 'patient')) AND (auth_permission.record_id = 0))
SELECT patient.id FROM patient WHERE (patient.id > 0)
```
Encore un appel à `load_permissions()` cette fois-ci pour les permissions anon. On n'est pas "admin" car les admins doivent voir les vrais noms de leurs patients :) :
``` SQL
SELECT auth_membership.group_id FROM auth_membership WHERE (auth_membership.user_id = 1)
SELECT auth_permission.group_id FROM auth_permission WHERE (((auth_permission.name = 'read') AND (auth_permission.table_name = 'patient')) AND (auth_permission.record_id = 0))
SELECT patient.id FROM patient WHERE (patient.id > 0)
SELECT auth_membership.group_id FROM auth_membership WHERE (auth_membership.user_id = 1)
SELECT auth_permission.group_id FROM auth_permission WHERE (((auth_permission.name = 'anon') AND (auth_permission.table_name = 'patient')) AND (auth_permission.record_id = 0))
SELECT auth_membership.group_id FROM auth_permission, auth_membership WHERE ((((auth_membership.user_id = 1) AND (auth_membership.group_id = auth_permission.group_id)) AND (auth_permission.record_id = 0)) AND (auth_permission.name = 'anon'))
SELECT patient.id FROM patient WHERE ((patient.id IN (SELECT auth_permission.record_id FROM auth_permission, auth_membership WHERE (((((auth_membership.user_id = 1) AND (auth_membership.group_id IN (1))) AND (auth_membership.group_id = auth_permission.group_id)) AND (auth_permission.name = 'access')) AND (auth_permission.table_name = 'patient')))) OR (patient.id IN (SELECT auth_permission.record_id FROM auth_permission, group_assoc, auth_membership WHERE ((((((auth_membership.user_id = 1) AND (auth_membership.group_id IN (1))) AND (auth_membership.group_id = group_assoc.second_group_id)) AND (group_assoc.first_group_id = auth_permission.group_id)) AND (auth_permission.name = 'access')) AND (auth_permission.table_name = 'patient')))))
```
Ici on a des vérifications d'existence effectuées dans les fonctions `can_view_info()`:
``` SQL
SELECT patient.id, patient.first_name, patient.last_name, patient.birth, patient.info, patient.id_label, patient.creator, patient.sample_set_id FROM patient WHERE (patient.id = 11) LIMIT 1 OFFSET 0
SELECT patient.id, patient.first_name, patient.last_name, patient.birth, patient.info, patient.id_label, patient.creator, patient.sample_set_id FROM patient WHERE (patient.id = 10) LIMIT 1 OFFSET 0
SELECT patient.id, patient.first_name, patient.last_name, patient.birth, patient.info, patient.id_label, patient.creator, patient.sample_set_id FROM patient WHERE (patient.id = 9) LIMIT 1 OFFSET 0
SELECT patient.id, patient.first_name, patient.last_name, patient.birth, patient.info, patient.id_label, patient.creator, patient.sample_set_id FROM patient WHERE (patient.id = 8) LIMIT 1 OFFSET 0
```
Ces requêtes sont relativement raisonnables. Récupèrent les noms des créateurs et les tailles des sample sets:
``` SQL
SELECT patient.id, auth_user.last_name FROM auth_user, patient WHERE ((patient.creator = auth_user.id) AND (patient.id IN (8,9,10,11)))
SELECT patient.id, sequence_file.size_file FROM sample_set_membership, patient, sequence_file WHERE (((sample_set_membership.sample_set_id = patient.sample_set_id) AND (sequence_file.id = sample_set_membership.sequence_file_id)) AND (patient.id IN (8,9,10,11)))
```
`load_config_information` contient deux `vidjil_accessible_query`:
``` SQL
SELECT auth_membership.group_id FROM auth_membership WHERE (auth_membership.user_id = 1)
SELECT auth_permission.group_id FROM auth_permission WHERE (((auth_permission.name = 'read') AND (auth_permission.table_name = 'config')) AND (auth_permission.record_id = 0))
SELECT auth_membership.group_id FROM auth_membership WHERE (auth_membership.user_id = 1)
SELECT auth_permission.group_id FROM auth_permission WHERE (((auth_permission.name = 'admin') AND (auth_permission.table_name = 'config')) AND (auth_permission.record_id = 0))
SELECT patient.id, config.name, config.id, fused_file.fused_file FROM patient, config, fused_file WHERE ((((patient.sample_set_id = fused_file.sample_set_id) AND (fused_file.config_id = config.id)) AND ((config.id >
0) OR (config.id > 0))) AND (patient.id IN (8,9,10,11)))
```
`load_permitted_groups()`:
``` SQL
SELECT patient.id, auth_group.role FROM auth_group, auth_permission, patient WHERE ((((((patient.id = auth_permission.record_id) OR (auth_permission.record_id = 0)) AND (auth_permission.table_name = 'patient')) AND (auth_permission.name = 'access')) AND (auth_group.id = auth_permission.group_id)) AND (patient.id IN (8,9,10,11)))
```
`load_anon_permissions()`... On n'avait pas fait ça plus haut ??? :
``` SQL
SELECT patient.id FROM auth_group, auth_permission, patient, auth_membership WHERE (((((((auth_permission.name = 'anon') AND (auth_permission.table_name = 'patient')) AND (patient.id = auth_permission.record_id)) AND (auth_group.id = auth_permission.group_id)) AND (auth_membership.user_id = 1)) AND (auth_membership.group_id = auth_group.id)) AND (patient.id IN (8,9,10,11)))
```
On charge tous les utilisateurs ? Pas trouvé dans le code... :
``` SQL
SELECT auth_user.id, auth_user.first_name, auth_user.last_name, auth_user.email, auth_user.password, auth_user.registration_key, auth_user.reset_password_key, auth_user.registration_id FROM auth_user WHERE (auth_user.id > 1)
```
Encore des vérifications d'existence... Pas trouvé l'endroit dans le code:
``` SQL
SELECT patient.id, patient.first_name, patient.last_name, patient.birth, patient.info, patient.id_label, patient.creator, patient.sample_set_id FROM patient WHERE (patient.id = 11) LIMIT 1 OFFSET 0
SELECT patient.id, patient.first_name, patient.last_name, patient.birth, patient.info, patient.id_label, patient.creator, patient.sample_set_id FROM patient WHERE (patient.id = 10) LIMIT 1 OFFSET 0
SELECT patient.id, patient.first_name, patient.last_name, patient.birth, patient.info, patient.id_label, patient.creator, patient.sample_set_id FROM patient WHERE (patient.id = 9) LIMIT 1 OFFSET 0
SELECT patient.id, patient.first_name, patient.last_name, patient.birth, patient.info, patient.id_label, patient.creator, patient.sample_set_id FROM patient WHERE (patient.id = 8) LIMIT 1 OFFSET 0
```
Vérifie si l'utilisateur a le droit de créer des patients/runs/sets :
``` SQL
SELECT auth_membership.group_id FROM auth_permission, auth_membership WHERE ((((auth_membership.user_id = 1) AND (auth_membership.group_id = auth_permission.group_id)) AND (auth_permission.record_id = 0)) AND (auth_permission.name = 'create'))
commit
```
A identifier:
``` SQL
SELECT 1
SET FOREIGN_KEY_CHECKS=1
SET sql_mode='NO_BACKSLASH_ESCAPES'
SELECT auth_membership.id, auth_membership.user_id, auth_membership.group_id FROM auth_membership WHERE (auth_membership.user_id = 1)
SELECT auth_group.id, auth_group.role, auth_group.description FROM auth_group WHERE (auth_group.id = 1)
SELECT auth_group.id, auth_group.role, auth_group.description FROM auth_group WHERE (auth_group.id = 2)
SELECT auth_group.id, auth_group.role, auth_group.description FROM auth_group WHERE (auth_group.id = 3)
commit
```Ryan HerbertRyan Herberthttps://gitlab.inria.fr/vidjil/vidjil/-/issues/5271Removing user/group from a server2024-03-27T14:07:04+01:00Mikaël SalsonRemoving user/group from a serverRemoving an user requires first to disable her/his account #5270.
Then we want to remove the data related to the account:
- all the data if the user is alone in her group
- what should be removed in the case of an user working within co...Removing an user requires first to disable her/his account #5270.
Then we want to remove the data related to the account:
- all the data if the user is alone in her group
- what should be removed in the case of an user working within collaborative groups? not the data, should the logs be removed?https://gitlab.inria.fr/vidjil/vidjil/-/issues/5270Controller to disable account2024-03-27T14:07:05+01:00Mikaël SalsonController to disable accountDiscussed for vdj#1170: we may want to disable account.
At first, just setting an empty password may be enough, but a cleaner status would be better.Discussed for vdj#1170: we may want to disable account.
At first, just setting an empty password may be enough, but a cleaner status would be better.https://gitlab.inria.fr/vidjil/vidjil/-/issues/5246Code formatting2024-02-06T16:22:11+01:00CHESNIN ClementCode formattingPour avoir un code plus homogène / faciliter la lecture, beaucoup de projets utilisent des formatters de code. Pour le moment, ce n'est pas le cas dans vidjil. La problématique de ce genre de discussion est que c'est un peu une question ...Pour avoir un code plus homogène / faciliter la lecture, beaucoup de projets utilisent des formatters de code. Pour le moment, ce n'est pas le cas dans vidjil. La problématique de ce genre de discussion est que c'est un peu une question de "religion" et que chacun·e peut avoir ses habitudes...
Côté python, on pourrait regarder du côté de [black](https://github.com/psf/black) + [isort](https://pycqa.github.io/isort/), [ruff](https://astral.sh/ruff), autopep8, ...
A coupler/réfléchir avec #5245 ? (cf par example ruff)https://gitlab.inria.fr/vidjil/vidjil/-/issues/5245Utiliser SonarQube/un linter pour la qualité python2024-02-15T09:57:21+01:00CHESNIN ClementUtiliser SonarQube/un linter pour la qualité pythonPour le moment, on ne fait pas d'analyse statique de code sur la partie python (c'est par contre le cas pour js).
On pourrait regarder du côté de SonarQube qui est déployé chez Inria (--> cf par exemple https://sonarqube.inria.fr/sonar...Pour le moment, on ne fait pas d'analyse statique de code sur la partie python (c'est par contre le cas pour js).
On pourrait regarder du côté de SonarQube qui est déployé chez Inria (--> cf par exemple https://sonarqube.inria.fr/sonarqube/profiles/show?name=Inria&language=py) ou bien [Flake8](https://flake8.pycqa.org/en/latest/) ou [ruff](https://astral.sh/ruff) par exemple.
Attention, comme on part d'une base de code existante, il faut qu'on puisse être assez permissif sur le code existant et ne pas être noyé·es sous les infos. Un objectif pour être de pouvoir avec les metrics, et avoir des warnings sur le nouveau code pour utiliser les bonnes pratiques.
Peut-être aussi pourra-t-on regarder du côté de https://ozgurozkok.com/pyupgrade-a-modern-syntax-upgrader-for-python/ ?https://gitlab.inria.fr/vidjil/vidjil/-/issues/5211CGI, custom_fuse, workers: unify ?2024-01-10T17:54:22+01:00THONIER FlorianCGI, custom_fuse, workers: unify ?Discuss with @clement.chesnin : We have 3 ways to make call to softwares on our server:
* CGI by nginx
* custom fuse with an ad-hoc server, transfert by py4web
* task with workers
At least CGI and custom_fuse could be unify in a same a...Discuss with @clement.chesnin : We have 3 ways to make call to softwares on our server:
* CGI by nginx
* custom fuse with an ad-hoc server, transfert by py4web
* task with workers
At least CGI and custom_fuse could be unify in a same ad-hoc server ? Other option ?Web 2024.04https://gitlab.inria.fr/vidjil/vidjil/-/issues/5193log flash; add a copy to clipboard icon2023-11-09T10:49:36+01:00THONIER Florianlog flash; add a copy to clipboard iconI change a flash message, including now the url called.
I dont' know if it is usefull to include this type of information (server internal error url) in flash message as we should have a ticket on our side with this value.
But is ther...I change a flash message, including now the url called.
I dont' know if it is usefull to include this type of information (server internal error url) in flash message as we should have a ticket on our side with this value.
But is there some case where it can be usefull to user to keep a trace of error ?
Another reason is that if you try to select text in it, it close.https://gitlab.inria.fr/vidjil/vidjil/-/issues/5173Merge clonotype on exact VDJ sequence (excluding primers)2023-10-19T14:34:09+02:00THONIER FlorianMerge clonotype on exact VDJ sequence (excluding primers)In some case, user upload data with primers. We have in these cases mix of primer of various length able to be used for a same clonotype. And in some configuration (no-clustering), we saw 2 clonotypes or more that are an artefact.
As p...In some case, user upload data with primers. We have in these cases mix of primer of various length able to be used for a same clonotype. And in some configuration (no-clustering), we saw 2 clonotypes or more that are an artefact.
As position and size of primer can vary, we can't make only a trimming of it.
Can we make a merge based on sequence but limited to Vstart ?
See case here: [59910-50?clone=27,35,45,81](https://app.vidjil.org/59910-50?clone=27,35,45,81)https://gitlab.inria.fr/vidjil/vidjil/-/issues/5121Mise à jour des germlines sur serveur de prod2023-02-08T14:12:39+01:00Mikaël SalsonMise à jour des germlines sur serveur de prodDans #5120 je m'apperçois que les germlines ne sont pas à jour. Ils sont pris depuis le dossier du repo de docker et ils ne sont pas pris dans le dossier de vidjil-algo.
Autant ceux de vidjil-algo sont à jour, autant il n'y a pas de rai...Dans #5120 je m'apperçois que les germlines ne sont pas à jour. Ils sont pris depuis le dossier du repo de docker et ils ne sont pas pris dans le dossier de vidjil-algo.
Autant ceux de vidjil-algo sont à jour, autant il n'y a pas de raison pour que ceux du repo de docker soient à jour (ou en tout cas il faudrait faire un `make germline`) pour qu'ils le soient.
Utiliser les germlines du vidjil-algo a l'avantage de les avoir à jour mais l'inconvénient c'est qu'on peut moins facilement mettre à disposition des germlines demandées par les utilisateurs (situation qu'on a rencontrée).https://gitlab.inria.fr/vidjil/vidjil/-/issues/5110Fusionner les warnings sur le même clone et plusieurs samples ?2023-01-12T15:29:35+01:00Mathieu GiraudFusionner les warnings sur le même clone et plusieurs samples ?
@flothoni : "mais le message peut être différent"
@flothoni : "mais le message peut être différent"https://gitlab.inria.fr/vidjil/vidjil/-/issues/5107.gitlab-ci.yml : Utiliser workflow, rules ?2022-12-22T17:06:39+01:00Mathieu Giraud.gitlab-ci.yml : Utiliser workflow, rules ?https://docs.gitlab.com/ee/ci/yaml/workflow.html
https://docs.gitlab.com/ee/ci/yaml/#workflow
Pour l'instant nous gérons nos pipelines avec des `only` sur chaque jobs. Mais au final, nous avons bien des workflows bien différents, `featu...https://docs.gitlab.com/ee/ci/yaml/workflow.html
https://docs.gitlab.com/ee/ci/yaml/#workflow
Pour l'instant nous gérons nos pipelines avec des `only` sur chaque jobs. Mais au final, nous avons bien des workflows bien différents, `feature-{csta}`... bien que souvent on en lance plusieurs. J'ai l'impression que, depuis plusieurs releases, gitlab ajoute des fonctionnalités liés à ces `workflow`, notamment avec les `rules`. Est-ce que cela vaudrait le coup d'utiliser cela ?https://gitlab.inria.fr/vidjil/vidjil/-/issues/5104Faciliter le process de création de compte2022-12-14T18:14:29+01:00Mathieu GiraudFaciliter le process de création de compte
Création / upload accordé automatique, mais attention à la sécurité / spam.
La première analyse resterait manuelle.
Après py4web.
Création / upload accordé automatique, mais attention à la sécurité / spam.
La première analyse resterait manuelle.
Après py4web.https://gitlab.inria.fr/vidjil/vidjil/-/issues/5099Ignorer des warnings pour certains clones2022-11-23T18:13:16+01:00Mathieu GiraudIgnorer des warnings pour certains clones
depuis... aligneur ? ou vue warning ?
après !1240
depuis... aligneur ? ou vue warning ?
après !1240