vidjil issueshttps://gitlab.inria.fr/vidjil/vidjil/-/issues2019-01-08T15:11:23+01:00https://gitlab.inria.fr/vidjil/vidjil/-/issues/3374Stocker en base de données tous les accès2019-01-08T15:11:23+01:00Mikaël SalsonStocker en base de données tous les accès(on les a déjà dans les fichiers)
Que ce soit les accès à un sample set, mais aussi aux listes de samples ou aux listes d'utilisateurs, etc…
En lien avec vidjilnet#10(on les a déjà dans les fichiers)
Que ce soit les accès à un sample set, mais aussi aux listes de samples ou aux listes d'utilisateurs, etc…
En lien avec vidjilnet#10https://gitlab.inria.fr/vidjil/vidjil/-/issues/3370Une séquence passe en unexpected au lieu d'IGH2018-07-13T16:08:46+02:00Mikaël SalsonUne séquence passe en unexpected au lieu d'IGHCe n'est pas extrêmement choquant vue la séquence.
Il s'agit de la séquence `#1347 vh2` de `gosh-igh.should-vdj.fa`. Elle contient un réarrangement VDJ normal mais à la fin elle a aussi du V dans le sens négatif.
Auparavant la séquence...Ce n'est pas extrêmement choquant vue la séquence.
Il s'agit de la séquence `#1347 vh2` de `gosh-igh.should-vdj.fa`. Elle contient un réarrangement VDJ normal mais à la fin elle a aussi du V dans le sens négatif.
Auparavant la séquence était vue comme une séquence VDJ normale mais avec la mise à jour des germlines, on a plus de k-mers reconnus comme V- à la fin de la séquence ce qui donne une meilleure e-valeur à la recombinaison inattendue par rapport à la VDJ classique.
Voici les affectations :
```
_ _ _ _ _ _ _+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H
+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H
+H+H+H+H+H+H ?+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H _
_ _ _ _+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H
+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H
+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H
+H+H+H+H+H+H+H+H+H _ _+H _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _+h+h+h+h+h+h+h+h+h _ _ _ _ _ _+h _ _ _ _ _ _+h+h+h
+h+h+h+h _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _-H-H-H-H-H-H-H-H-H-H-H-H-H-H-H-H-H-H
-H-H-H-H-H-H-H-H-H-H-H-H-H-H-H-H-H-H-H-H-H-H-H-H-H-H-H-H-H-H-H-H-H-H-H-H-H-H-H
-H-H-H-H-H-H-H-H-H-H-H-H-H-H-H-H-H-H
```
Est-on choqué que ce soit unexpected ou non ?https://gitlab.inria.fr/vidjil/vidjil/-/issues/3369Tester tools/validate-links.py2020-05-20T18:47:09+02:00Mikaël SalsonTester tools/validate-links.pySuite à !202 il faudra tester ce script (doctests par exemple), ce qui pourra servir de documentation.Suite à !202 il faudra tester ce script (doctests par exemple), ce qui pourra servir de documentation.Mathieu GiraudMathieu Giraudhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/3367Authentification forte2021-11-05T09:11:55+01:00Mathieu GiraudAuthentification forteEn France, les recommandations sont généralement d'avoir une authentification basée sur la CPS (http://esante.gouv.fr/services/espace-cps/cartes-professionnelles-de-sante), mais ce n'est pas obligatoire.
Un minimum serait de mettre en p...En France, les recommandations sont généralement d'avoir une authentification basée sur la CPS (http://esante.gouv.fr/services/espace-cps/cartes-professionnelles-de-sante), mais ce n'est pas obligatoire.
Un minimum serait de mettre en place un 2FA ou quelque chose du genre.
cc @RyanHerbhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/3365should-vdj-to-tap ne vérifie pas correctement le locus2020-05-20T16:40:35+02:00Mikaël Salsonshould-vdj-to-tap ne vérifie pas correctement le locusDans `should-vdj-tests/igh-vdj.should-vdj.fa` le 3è test passe pour le locus alors qu'il n'est pas correct (IGH+ trouvé au lieu de IGH).
```
#(IGHV1-18*01, IGHV1-18*04) 0//0 IGHD3-16*01 0//0 (IGHJ4*01, IGHJ4*02) [IGH] BUG
>1 100 101 12...Dans `should-vdj-tests/igh-vdj.should-vdj.fa` le 3è test passe pour le locus alors qu'il n'est pas correct (IGH+ trouvé au lieu de IGH).
```
#(IGHV1-18*01, IGHV1-18*04) 0//0 IGHD3-16*01 0//0 (IGHJ4*01, IGHJ4*02) [IGH] BUG
>1 100 101 121 seed IGH+ SEG_+ 2.180678e-23 4.130931e-61/2.180678e-23
```Algo -- Importanthttps://gitlab.inria.fr/vidjil/vidjil/-/issues/3363Documenter le format utilisé dans les fichiers `.g`2018-09-07T08:06:36+02:00Mikaël SalsonDocumenter le format utilisé dans les fichiers `.g`https://gitlab.inria.fr/vidjil/vidjil/-/issues/3362À quoi sert le ref dans les fichiers .g / à quoi sert germline_id2018-09-07T09:43:25+02:00Mikaël SalsonÀ quoi sert le ref dans les fichiers .g / à quoi sert germline_idLors d'une mise à jour du germline il est nécessaire de mettre à jour les fichiers `.g` afin de faire passer le test `should-get-tests/11-get-saved-germline-id.should-get`.
Le champ `"ref"` des fichiers germlines renseigne une version p...Lors d'une mise à jour du germline il est nécessaire de mettre à jour les fichiers `.g` afin de faire passer le test `should-get-tests/11-get-saved-germline-id.should-get`.
Le champ `"ref"` des fichiers germlines renseigne une version précise des germlines. Pourquoi ? À quoi cela sert ? Je comprends qu'il soit nécessaire d'avoir une version minimale mais je ne vois pas l'utilité d'imposer une version (et de devoir la changer à chaque mise à jour des germlines).https://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/3357Détection de séquences VJ particulières2018-08-30T17:47:05+02:00Mikaël SalsonDétection de séquences VJ particulièresPour #2232, mais cela peut aussi être dans d'autres situations comme avec des dimers d'amorces, on a des clones qui ressortent et qui ne sont pas significatifs.
On aimerait leur mettre des warnings (#2247).
Une solution est de coder en...Pour #2232, mais cela peut aussi être dans d'autres situations comme avec des dimers d'amorces, on a des clones qui ressortent et qui ne sont pas significatifs.
On aimerait leur mettre des warnings (#2247).
Une solution est de coder en dur la valeur des recombinaisons et de lever un warning lorsqu'on rencontre cette valeur-là. Une autre solution serait de stocker les séquences elle-mêmes et de détecter les fenêtres dans ces séquences. Toutes les séquences partageant cette fenêtre seront clusterisées avec ce qui nous permet ensuite de faire ce qu'on veut.
Cela éviterait de stocker des choses plus ou moins robustes en dur.https://gitlab.inria.fr/vidjil/vidjil/-/issues/3355Réduire l'affichage lors du debug de la méthode filter2018-07-10T17:48:59+02:00Cyprien BoréeRéduire l'affichage lors du debug de la méthode filterL'affichage produit lorsque `DEBUG_FILTER` est défini, donne le nombre d'occurrence pour toutes les allèles d'un même gène, alors qu'il suffirait d'avoir seulement le nombre de K-mers trouvé par gène et non par allèle.
Ex:
```
100,kmers...L'affichage produit lorsque `DEBUG_FILTER` est défini, donne le nombre d'occurrence pour toutes les allèles d'un même gène, alors qu'il suffirait d'avoir seulement le nombre de K-mers trouvé par gène et non par allèle.
Ex:
```
100,kmers,found,for,IGHV3-38*01
100,kmers,found,for,IGHV3-38*02
100,kmers,found,for,IGHV3-38*03
87,kmers,found,for,IGHV3-38-3*01
84,kmers,found,for,IGHV3-43*01
84,kmers,found,for,IGHV3-43*02
82,kmers,found,for,IGHV3-43D*01
66,kmers,found,for,IGHV3-47*01
66,kmers,found,for,IGHV3-47*02
```
Au lieu de :
```
100,kmers,found,for,IGHV3-38
87,kmers,found,for,IGHV3-38-3
84,kmers,found,for,IGHV3-43
82,kmers,found,for,IGHV3-43D
66,kmers,found,for,IGHV3-47
```https://gitlab.inria.fr/vidjil/vidjil/-/issues/3353should-vdj-to-tap.py --retry2018-07-10T16:46:56+02:00Mathieu Giraudshould-vdj-to-tap.py --retryDe la même manière qu'on a `should.py --retry`, on devrait avoir quelque chose pour relancer uniquement les tests loupés.De la même manière qu'on a `should.py --retry`, on devrait avoir quelque chose pour relancer uniquement les tests loupés.https://gitlab.inria.fr/vidjil/vidjil/-/issues/3351Dockerimages starting order2018-07-11T10:56:13+02:00Alexander ShlemovDockerimages starting orderYet another Docker issue. During an initial start, the `workers` image starts BEFORE the `mysql` image and fails to connect to the database (DB initialization takes some time). It results in:
```
workers_1 | Traceback (most recent call...Yet another Docker issue. During an initial start, the `workers` image starts BEFORE the `mysql` image and fails to connect to the database (DB initialization takes some time). It results in:
```
workers_1 | Traceback (most recent call last):
workers_1 | File "/usr/share/vidjil/server/web2py/gluon/restricted.py", line 219, in restricted
workers_1 | exec(ccode, environment)
workers_1 | File "applications/vidjil/models/db.py", line 44, in <module>
workers_1 | db = DAL(defs.DB_ADDRESS,pool_size=defs.DB_POOL_SIZE,check_reserved=['all'])
workers_1 | File "/usr/share/vidjil/server/web2py/gluon/packages/dal/pydal/base.py", line 170, in __call__
workers_1 | obj = super(MetaDAL, cls).__call__(*args, **kwargs)
workers_1 | File "/usr/share/vidjil/server/web2py/gluon/packages/dal/pydal/base.py", line 475, in __init__
workers_1 | "Failure to connect, tried %d times:\n%s" % (attempts, tb)
```
Probably, this race condition could affect a usual run rather than only initial run.
The possible solution is using a special waiting script `wait-for-it` (https://github.com/vishnubob/wait-for-it) like it shown here:
https://docs.docker.com/compose/startup-order/https://gitlab.inria.fr/vidjil/vidjil/-/issues/3349doc en .md en anchors pour l'aide depuis le client2018-07-12T11:26:54+02:00Mathieu Girauddoc en .md en anchors pour l'aide depuis le clientAvec .md + mkdocs, plus besoin d'anchors, c'est le nom de la section qui est une anchor.
Vérifier les liens et adapter si besoin.Avec .md + mkdocs, plus besoin d'anchors, c'est le nom de la section qui est une anchor.
Vérifier les liens et adapter si besoin.https://gitlab.inria.fr/vidjil/vidjil/-/issues/3345La redirection de /vidjil/default/index ne fonctionne pas toujours comme prévu2018-07-06T11:52:48+02:00Ryan HerbertLa redirection de /vidjil/default/index ne fonctionne pas toujours comme prévuDans [views/default/index.html](https://gitlab.inria.fr/vidjil/vidjil/blob/dev/server/web2py/applications/vidjil/views/default/index.html) nous redirigeons l'utilisateur vers le client. L'utilité étant de permettre à l'utilisateur d'acce...Dans [views/default/index.html](https://gitlab.inria.fr/vidjil/vidjil/blob/dev/server/web2py/applications/vidjil/views/default/index.html) nous redirigeons l'utilisateur vers le client. L'utilité étant de permettre à l'utilisateur d'accepter un certificat ssl `self-signed`. Or nous forçons le passage à HTTP pour cette redirection. Ceci ne pose pas de problèmes quand nous utilisons des ports implicites, mais l'utilisation de ports autres que ceux par défaut provoque une erreur `400 Bad Request`
Bug found by @eodushttps://gitlab.inria.fr/vidjil/vidjil/-/issues/3344Le filtrage avec -Z 1 ne renvoie pas la bonne séquence2018-07-10T17:03:44+02:00Mikaël SalsonLe filtrage avec -Z 1 ne renvoie pas la bonne séquenceExemples où le `-Z 1` n'est pas satisfaisant. #3225 pourrait améliorer les choses.Exemples où le `-Z 1` n'est pas satisfaisant. #3225 pourrait améliorer les choses.https://gitlab.inria.fr/vidjil/vidjil/-/issues/3343Ne pas indiquer la première germline pour les séquences avec zéro kmers2018-07-06T12:39:42+02:00Mathieu GiraudNe pas indiquer la première germline pour les séquences avec zéro kmers@mikael\-s, https://gitlab.inria.fr/vidjil/vidjil/issues/3338#note_103270:
```
>H7P7O:01381:02138 ! @10 @1 IGH UNSEG too few V/J 9.649895e+06 9.465760e+06/1.841356e+05
TGGGACCAGGGTG
```
> je ne comprends pas comment on trouve de l'I...@mikael\-s, https://gitlab.inria.fr/vidjil/vidjil/issues/3338#note_103270:
```
>H7P7O:01381:02138 ! @10 @1 IGH UNSEG too few V/J 9.649895e+06 9.465760e+06/1.841356e+05
TGGGACCAGGGTG
```
> je ne comprends pas comment on trouve de l'IGH dedans
C'est "Always remember the first kseg" : https://gitlab.inria.fr/vidjil/vidjil/blob/dev/algo/core/segment.cpp#L624 et f62ab84ahttps://gitlab.inria.fr/vidjil/vidjil/-/issues/3340Coverage : faire quelque chose des résultats2023-06-28T18:03:29+02:00Mathieu GiraudCoverage : faire quelque chose des résultatsC'est bien d'avoir les tests de couverture... mais pour qu'il servent à quelque chose, il faudrait des warnings (voire une interdiction de merger) quand le coverage diminue. Et/ou des graphes sur le temps.
Si ce n'est pas déjà une fonct...C'est bien d'avoir les tests de couverture... mais pour qu'il servent à quelque chose, il faudrait des warnings (voire une interdiction de merger) quand le coverage diminue. Et/ou des graphes sur le temps.
Si ce n'est pas déjà une fonctionnalité de gitlab, il y a sûrement une issue déjà dans gitlab-ce à ce propos.https://gitlab.inria.fr/vidjil/vidjil/-/issues/3337Erreur de segmentation avec une petite valeur -X n2018-07-11T13:41:36+02:00Cyprien BoréeErreur de segmentation avec une petite valeur -X nComme l'indique le titre et les commentaires de #3259, l'utilisation de **-Z** et **-X** simultanée *peut* provoquer une erreur de segmentation. (Voir ci-dessous, cela ne dépend en fait que de **-X**).
Toutefois, je ne l'ai remarqué que...Comme l'indique le titre et les commentaires de #3259, l'utilisation de **-Z** et **-X** simultanée *peut* provoquer une erreur de segmentation. (Voir ci-dessous, cela ne dépend en fait que de **-X**).
Toutefois, je ne l'ai remarqué que lorsque **-X** est doté d'une petite valeur, par exemple avec `./vidjil-algo -c segment -g germline/homo-sapiens.g -X 10 -Z 5 demo/LIL-L4.fastq.gz`.
Selon *GDB*, l'erreur semble provenir des *frames* suivant:
```
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff6fd3bbc in _int_malloc (av=av@entry=0x7ffff7316b20 <main_arena>, bytes=bytes@entry=246) at malloc.c:3353
3353 malloc.c: No such file or directory.
(gdb) bt
#0 0x00007ffff6fd3bbc in _int_malloc (av=av@entry=0x7ffff7316b20 <main_arena>, bytes=bytes@entry=246) at malloc.c:3353
#1 0x00007ffff6fd6184 in __GI___libc_malloc (bytes=246) at malloc.c:2913
#2 0x00007ffff78c8e78 in operator new(unsigned long) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3 0x00007ffff795a499 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_mutate(unsigned long, unsigned long, char const*, unsigned long) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4 0x00007ffff795b833 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_append(char const*, unsigned long) ()
from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5 0x00007ffff78e1a7b in std::basic_istream<char, std::char_traits<char> >& std::getline<char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char) ()
from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6 0x000000000048cb7a in OnlineFasta::getInterestingLine[abi:cxx11](int) ()
#7 0x000000000048d1bf in OnlineFasta::next() ()
#8 0x000000000047be61 in OnlineBioReader::skipToNthSequence() ()
#9 0x000000000048d491 in OnlineFasta::next() ()
```https://gitlab.inria.fr/vidjil/vidjil/-/issues/3336Fusionner les jobs prepare-release et release, et aussi copy/deploy ?2018-07-12T16:20:54+02:00Mathieu GiraudFusionner les jobs prepare-release et release, et aussi copy/deploy ?Discuté ce matin avec @mikael\-s : On pourrait n'avoir qu'un job `prepare-release`, mais cela suppose de faire quelque chose pour quele `RELEASE_TAG` soit `rc` quand il faut... ou même toujours `rc`.
Au passage, je ne suis pas sûr de co...Discuté ce matin avec @mikael\-s : On pourrait n'avoir qu'un job `prepare-release`, mais cela suppose de faire quelque chose pour quele `RELEASE_TAG` soit `rc` quand il faut... ou même toujours `rc`.
Au passage, je ne suis pas sûr de comprendre `copy_release`: s'il n'est pas exécuté sur le même slave, cela ne va pas fonctionner. Il faudrait lister explicitement les artefacts et dépendances. Est-ce qu'une logique plus gitlab ne serait pas d'avoir un job `release-and-publish` qui fait à la fois `release`, `copy_release` et `deploy_release_prod` ? Dans ce cas, `prepare-release` fait toujours `rc`, et `release-and-publish` fait ce qu'il faut.https://gitlab.inria.fr/vidjil/vidjil/-/issues/3334Stéréotypie CDR3 à un subset connu2021-11-19T11:06:56+01:00Mathieu GiraudStéréotypie CDR3 à un subset connuCas particulier de #3906.Cas particulier de #3906.CLL-2018-septembre