vidjil issueshttps://gitlab.inria.fr/vidjil/vidjil/-/issues2018-10-31T09:43:32+01:00https://gitlab.inria.fr/vidjil/vidjil/-/issues/3398Release 2018.07.22018-10-31T09:43:32+01:00Mathieu GiraudRelease 2018.07.2Est-ce que !253 justifie une autre release qui serait tout de suite déployée sur app ? Je suis prêt à attendre 5 heures :-)Est-ce que !253 justifie une autre release qui serait tout de suite déployée sur app ? Je suis prêt à attendre 5 heures :-)Algo 2018.08Mikaël SalsonMikaël Salson2018-07-26https://gitlab.inria.fr/vidjil/vidjil/-/issues/3387Effacer les objets au fur et à mesure qu'ils sont exportés2018-07-20T14:55:55+02:00Mikaël SalsonEffacer les objets au fur et à mesure qu'ils sont exportésAfin d'éviter d'augmenter l'espace mémoire lors de l'export (cf. #2120), @magiraud proposait :
> Autre piste: dans `windows.cpp`, effacer `seqs_by_window` (avec les BinReadsStorage) juste après `WindowsStorage::sort()`
Il y a d'autres é...Afin d'éviter d'augmenter l'espace mémoire lors de l'export (cf. #2120), @magiraud proposait :
> Autre piste: dans `windows.cpp`, effacer `seqs_by_window` (avec les BinReadsStorage) juste après `WindowsStorage::sort()`
Il y a d'autres éléments qui pourraient être effacés. Au final, voici ce qu'on pourrait supprimer.
* [x] `seqs_by_window`
* [ ] à chaque itération dans `sortedWindowsToJson` une fois que les infos ont été utilisées pour la fenêtre courante on peut les effacer des différents endroits où elles sont stockées (`status_by_window`, `germline_by_window`)
* [ ] on pourrait même effacer les entrées de `sort_all_windows` au fur et à mesure qu'on la parcourt dans `sortedWindowsToJson`.Algo 2018.08Cyprien BoréeCyprien Boréehttps://gitlab.inria.fr/vidjil/vidjil/-/issues/3373Des erreurs dans certains fichiers de germline2018-07-13T14:15:11+02:00Mikaël SalsonDes erreurs dans certains fichiers de germlineLors de la dernière release des germlines des erreurs ont été enregistrées dans les fichiers germlines `rattus-norvegicus/IGHD+up.fa` et `rattus-norvegicus/IGHJ+down.fa` :
```
Error: CEFetchPApplication::proxy_stream(): Failed to unders...Lors de la dernière release des germlines des erreurs ont été enregistrées dans les fichiers germlines `rattus-norvegicus/IGHD+up.fa` et `rattus-norvegicus/IGHJ+down.fa` :
```
Error: CEFetchPApplication::proxy_stream(): Failed to understand id: RatNor_6_chr6
```Algo 2018.08Mikaël SalsonMikaël Salsonhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/3366CI ne lance pas shouldlocus2018-07-12T19:01:19+02:00Mikaël SalsonCI ne lance pas shouldlocusLes tests sur les locus ne sont actuellement pas lancés.
Or des tests peuvent échouer en `shouldlocus` et pas en `shouldvdj`Les tests sur les locus ne sont actuellement pas lancés.
Or des tests peuvent échouer en `shouldlocus` et pas en `shouldvdj`Algo 2018.08https://gitlab.inria.fr/vidjil/vidjil/-/issues/3361Erreur de compilation avec `g++-7`2018-07-11T19:27:29+02:00Mikaël SalsonErreur de compilation avec `g++-7`Suite à bc08111a02 j'ai une erreur de compilation avec g++-7 (et 8 aussi) :
```c++
filter.h:6:9: error: ‘function’ does not name a type; did you mean ‘union’?
typedef function<bool(pair<KmerAffect, int>, pair<KmerAffect, int>)> Comparat...Suite à bc08111a02 j'ai une erreur de compilation avec g++-7 (et 8 aussi) :
```c++
filter.h:6:9: error: ‘function’ does not name a type; did you mean ‘union’?
typedef function<bool(pair<KmerAffect, int>, pair<KmerAffect, int>)> Comparator;
^~~~~~~~
union
```
cc @magiraud @boreecAlgo 2018.08https://gitlab.inria.fr/vidjil/vidjil/-/issues/3356genes et up/down-stream : vérifier qu'on tombe au bon endroit par rapport à *012018-10-17T11:50:31+02:00Mathieu Giraudgenes et up/down-stream : vérifier qu'on tombe au bon endroit par rapport à *01Depuis !182 :
> > plus généralement, vérifier que cela qu'on extrait du chromosome comprend bien ce qu'on avait dans le gène ?
> Pas encore fait, c'est bien cela ?
`get_updownstream_sequences()` ou d'autres choses autour pourraient v...Depuis !182 :
> > plus généralement, vérifier que cela qu'on extrait du chromosome comprend bien ce qu'on avait dans le gène ?
> Pas encore fait, c'est bien cela ?
`get_updownstream_sequences()` ou d'autres choses autour pourraient vérifier que ce que l'on a dans le génome correspond à notre séquence (ou presque, voir aussi #3301).Algo 2018.08https://gitlab.inria.fr/vidjil/vidjil/-/issues/3354Une séquence n'est pas analysée quand le filtrage est activé2018-07-11T19:45:32+02:00Mathieu GiraudUne séquence n'est pas analysée quand le filtrage est activéDepuis `algo/tests` :
`../../vidjil-algo -c segment -g ../../germline/homo-sapiens.g:IGH should-vdj-tests/2767-Debre-IGH.should-vdj.fa`, la deuxième séquence.
Le test contient `IGHV3-7*01 (112/CCAGGACC/6, 112/CC/0) IGHD2-2 (16/GAATACCT...Depuis `algo/tests` :
`../../vidjil-algo -c segment -g ../../germline/homo-sapiens.g:IGH should-vdj-tests/2767-Debre-IGH.should-vdj.fa`, la deuxième séquence.
Le test contient `IGHV3-7*01 (112/CCAGGACC/6, 112/CC/0) IGHD2-2 (16/GAATACCTAGTACC/12, 16/GAATACCTAGT/9, 16/GAA/2) (IGHJ4*01, IGHJ4*02)`
Sur `dev`, ou bien sur !237 avec `-Z all`:
`>IGHV3-7*01 + VDJ 1 144 147 161 165 213 IGHV3-7*01 112/CC/0 IGHD2-2*01 16/GAA/2 IGHJ4*02 IGH SEG_+`
Mais sur !237:
`>IGHV3-7*01 ! @30 @165 IGH UNSEG only J/3' 1.499151e+03 1.499151e+03/6.475415e-15`
Voir #3344 ?Algo 2018.08https://gitlab.inria.fr/vidjil/vidjil/-/issues/3347Option pour arrêter la génération du json au bout de n séquences2018-07-10T18:26:08+02:00Mathieu GiraudOption pour arrêter la génération du json au bout de n séquencesJ'ai l'impression que, même avec `-y 10 -z 10`, le json contient *toutes* les fenêtres. C'est voulu, notamment pour ~"server\-fuse".
Mais bon, dans certaines applications, on n'a pas forcément envie d'avoir des fichiers json potentielle...J'ai l'impression que, même avec `-y 10 -z 10`, le json contient *toutes* les fenêtres. C'est voulu, notamment pour ~"server\-fuse".
Mais bon, dans certaines applications, on n'a pas forcément envie d'avoir des fichiers json potentiellement grands.
Une option pourrait être mise très vite en place pour limiter cette sortie (pour #3327), bien avant #2120.
Cela permettrait d'avoir une config pour éviter le problème de #2120...
Et même avec #2120, certains utilisateurs pourraient avoir envie de s'en servir.Algo 2018.08https://gitlab.inria.fr/vidjil/vidjil/-/issues/3327Release 2018.082018-07-20T14:56:26+02:00Mathieu GiraudRelease 2018.08Je souhaiterai faire mercredi 11 juillet la prochaine release %"Algo 2018.08".Je souhaiterai faire mercredi 11 juillet la prochaine release %"Algo 2018.08".Algo 2018.08https://gitlab.inria.fr/vidjil/vidjil/-/issues/3311Test du filtrage : faire des tests négatifs2018-07-11T18:21:08+02:00Mikaël SalsonTest du filtrage : faire des tests négatifsDiscuté avec @boreec : suite à #3250 les tests passent toujours, ce qui est surprenant.
En regardant un peu le code, on pense qu'en demandant le filtrage d'une séquence bidon elle sera filtrée comme étant la première séquence du germlin...Discuté avec @boreec : suite à #3250 les tests passent toujours, ce qui est surprenant.
En regardant un peu le code, on pense qu'en demandant le filtrage d'une séquence bidon elle sera filtrée comme étant la première séquence du germline. La raison à cela est que les k-mers `UNKNOWN` et les k-mers de la 1è séquence ont tous deux le numéro 1 qui leur est affecté. La séquence bidon aura donc des k-mers `UNKNOWN` ui seront interprétés comme provenant de la séquence 1.
Il faudrait donc vérifier que si on filtre avec une séquence qui n'a rien à voir, on obtient bien en sortie le germline complet. Attention en attendant #3187 si on le fait sur de vraies données il est possible qu'une séquence bidon est malgré tout 1 ou 2 k-mers partagés avec un IGHV. On peut très bien faire ce test sur des données fabriquées à la main pour être sûr que la séquence « bidon » n'ait aucun k-mer partagé avec les séquences de nos germlines.Algo 2018.08Cyprien BoréeCyprien Boréehttps://gitlab.inria.fr/vidjil/vidjil/-/issues/3309Makefile et vidjil.cpp2018-06-26T10:38:30+02:00Mathieu GiraudMakefile et vidjil.cppOn en a sûrement déjà parlé il y a quelques années, mais c'est toujours embêtant (surtout tant qu'on a pas #3308) que `make` recompile toujours `vidjil.cpp`, même quand c'est inutile.On en a sûrement déjà parlé il y a quelques années, mais c'est toujours embêtant (surtout tant qu'on a pas #3308) que `make` recompile toujours `vidjil.cpp`, même quand c'est inutile.Algo 2018.08https://gitlab.inria.fr/vidjil/vidjil/-/issues/3307Temps de compilation et json.hpp2018-07-10T16:11:02+02:00Mathieu GiraudTemps de compilation et json.hppPour l'instant `json.hpp` est inclus... dans `tools.h`, donc quasiment partout.
Pistes :
- retirer cela d'au moins `tools.h`
- utiliser si possible `json_fwd.h` à certains endroits https://github.com/nlohmann/json/issues/314
Et #2935.Pour l'instant `json.hpp` est inclus... dans `tools.h`, donc quasiment partout.
Pistes :
- retirer cela d'au moins `tools.h`
- utiliser si possible `json_fwd.h` à certains endroits https://github.com/nlohmann/json/issues/314
Et #2935.Algo 2018.08https://gitlab.inria.fr/vidjil/vidjil/-/issues/3299Cas d'arrêt dans filterBioReaderWithACAutomaton()2018-07-04T13:40:30+02:00Mathieu GiraudCas d'arrêt dans filterBioReaderWithACAutomaton()En traçant un comportement inattendu (en essayant de faire un exemple pour #3297), je me pose des questions sur la ligne :
`if (asciiNum > indexes->size() - 1) { break; } `
Cyprien, quand est-ce que ceci est censé arriver ? Dans mon c...En traçant un comportement inattendu (en essayant de faire un exemple pour #3297), je me pose des questions sur la ligne :
`if (asciiNum > indexes->size() - 1) { break; } `
Cyprien, quand est-ce que ceci est censé arriver ? Dans mon cas, j'ai un `asciiNum` de `95` alors que `indexes->size() - 1` vaut `11` (il y a bien 11 genes dans le germline que j'utilise).
Si ce `break` est fait à tort dès le début, alors `result` est vide... et au final on prend tout le `BioReader` d'origine et on ne filtre pas (et on ne se rend pas compte d'un éventuel soucis de filtrage).Algo 2018.08Cyprien BoréeCyprien Boréehttps://gitlab.inria.fr/vidjil/vidjil/-/issues/3298Mise en production du filtrage par défaut2019-10-23T06:58:00+02:00Mathieu GiraudMise en production du filtrage par défautVu les très bons résultats de #3223 (à refaire), dès que les choses sur les temps #3260 seront confirmées, je propose de mettre `N=10` (voire `N=5`) en valeur par défaut, très sûre. On sait que `N=1` peut donc fonctionner... mais :
- p...Vu les très bons résultats de #3223 (à refaire), dès que les choses sur les temps #3260 seront confirmées, je propose de mettre `N=10` (voire `N=5`) en valeur par défaut, très sûre. On sait que `N=1` peut donc fonctionner... mais :
- plus généralement, la bonne valeur serait plutôt #3225 (mais c'est complexe)
- très bientôt (le deuxième sujet de juillet), on va essayer de faire #1408. Si on cherche les 5 meilleurs V, est-ce qu'un `N=5` suffira ? Cela complexifie encore #3225.
- et il faudrait aussi #3297 pour y voir plus clair
On pourra de plus mettre sur certaines configurations (IGH ?) sur le serveur un `N` plus petit (et pourquoi pas 2 ou 1, si c'est significativement plus rapide).
cc @boreec Algo 2018.08https://gitlab.inria.fr/vidjil/vidjil/-/issues/3296L'heuristique n'est pas symétrique lorsqu'il y a cheuvauchement entre affecta...2018-07-12T18:26:07+02:00Mikaël SalsonL'heuristique n'est pas symétrique lorsqu'il y a cheuvauchement entre affectations before et after.Dans !148 un test sur les locus échoue mais ce n'est pas imputable à la MR (voir le job en question : https://gitlab.inria.fr/vidjil/vidjil/-/jobs/117114).
La séquence n'est pas segmentée dans le sens + mais elle est segmentée en xxx da...Dans !148 un test sur les locus échoue mais ce n'est pas imputable à la MR (voir le job en question : https://gitlab.inria.fr/vidjil/vidjil/-/jobs/117114).
La séquence n'est pas segmentée dans le sens + mais elle est segmentée en xxx dans le sens -, ce qui n'est pas forcément choquant. En revanche ce qui est choquant c'est que la séquence ne soit pas segmentée de la même manière dans les deux sens.
Ce type de cas se produit lorsqu'il y a chevauchement entre la fin d'une affectation `before` et le début d'une affectation `after` alors qu'on a atteint la valeur maximale (celle qui sert à déterminer le point de jonction). On a alors un plateau de valeurs maximales.
Le problème c'est que dans un sens les affectations `before` rencontrées sur ce plateau seront comptées comme « à gauche ». Ensuite le ratio entre le nombre à gauche et le nombre à droite risque d'être trop élevé et risque de provoquer une absence de segmentation.Algo 2018.08Mikaël SalsonMikaël Salsonhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/3294Supprimer NO_SPACED_SEEDS2018-06-26T10:43:40+02:00Mathieu GiraudSupprimer NO_SPACED_SEEDSJe ne pense pas l'avoir utiliser depuis plusieurs années... je ne sais même pas si cela fonctionne.
D'accord pour supprimer ?Je ne pense pas l'avoir utiliser depuis plusieurs années... je ne sais même pas si cela fonctionne.
D'accord pour supprimer ?Algo 2018.08Mathieu GiraudMathieu Giraudhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/3293Rationnaliser la déclaration des graines (explicites, constantes, par défaut)2021-04-28T12:10:42+02:00Mathieu GiraudRationnaliser la déclaration des graines (explicites, constantes, par défaut)On devrait pouvoir utiliser `s13` comme `##-##--#` à la fois en ligne de commande et dans un `.g`.
On pourrait aussi avoir une seed nommée `default`.
`seedMap` est pour l'instant caché au fond de `build_from_json()` : le mettre ailleurs...On devrait pouvoir utiliser `s13` comme `##-##--#` à la fois en ligne de commande et dans un `.g`.
On pourrait aussi avoir une seed nommée `default`.
`seedMap` est pour l'instant caché au fond de `build_from_json()` : le mettre ailleurs, et faire la conversion dans `Germline`.
De plus, l'aide de `-s` devrait pouvoir expliciter l'association en affichant ces valeurs de `seedMap`.
(Et cela aiderait peut-être #3292.)Algo 2018.08Mathieu GiraudMathieu Giraudhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/3287Virer Travis ?2018-09-11T16:53:24+02:00Mikaël SalsonVirer Travis ?Sur Github le build est marqué en failed car travis échoue. Le fichier de conf n'a probablement pas été mis à jour suite aux changements dans `/Makefile`. Plutôt que de devoir maintenir deux CI, ne se passerait-on pas tout simplement de ...Sur Github le build est marqué en failed car travis échoue. Le fichier de conf n'a probablement pas été mis à jour suite aux changements dans `/Makefile`. Plutôt que de devoir maintenir deux CI, ne se passerait-on pas tout simplement de Travis ?Algo 2018.08https://gitlab.inria.fr/vidjil/vidjil/-/issues/3283Refactorer filter.cpp en une classe Filter2018-07-04T13:41:56+02:00Mathieu GiraudRefactorer filter.cpp en une classe FilterDepuis #3259 :
> Je trouve que la seconde solution ferait dépendre le filtrage plus fortement de l'implémentation utilisée pour l'automate, ce qui peut être dommage si on change de structure à un moment donné.
C'est donc plutôt la pre...Depuis #3259 :
> Je trouve que la seconde solution ferait dépendre le filtrage plus fortement de l'implémentation utilisée pour l'automate, ce qui peut être dommage si on change de structure à un moment donné.
C'est donc plutôt la première solution qui est à privilégier : une classe `Filter` qui
> contiendrait un automate, des statistiques sur ce qui est filtré et le `Germline` déclarerait donc un objet de cette classe plutôt qu'un automate.Algo 2018.08Cyprien BoréeCyprien Boréehttps://gitlab.inria.fr/vidjil/vidjil/-/issues/3279Segfault : Mauvais déplacement dans l'itérateur setOfWords2018-06-26T10:43:40+02:00Mathieu GiraudSegfault : Mauvais déplacement dans l'itérateur setOfWordsSur ma machine, certaines valeurs de `-Z` génèrent une segfault.
`./vidjil-algo -c segment -Z 50 -A -g germline/homo-sapiens.g:IGH -x 5 demo/Stanford_S22.fasta`
(dès la première séquence) `-Z 40` et `-Z 100` fonctionnent
`./vidjil-algo...Sur ma machine, certaines valeurs de `-Z` génèrent une segfault.
`./vidjil-algo -c segment -Z 50 -A -g germline/homo-sapiens.g:IGH -x 5 demo/Stanford_S22.fasta`
(dès la première séquence) `-Z 40` et `-Z 100` fonctionnent
`./vidjil-algo -Z 10 -A -g germline/homo-sapiens.g:IGH -x 30 demo/Stanford_S22.fasta`
(clone 13)
J'ai rajouté dans 28a372f9 un test `should-get-tests/stanford-Z.should-get` qui ne passe pas chez moi.Algo 2018.08Cyprien BoréeCyprien Borée