vidjil issueshttps://gitlab.inria.fr/vidjil/vidjil/-/issues2017-07-07T15:46:09+02:00https://gitlab.inria.fr/vidjil/vidjil/-/issues/2016Charger des fichiers BAM2017-07-07T15:46:09+02:00Vidjil TeamCharger des fichiers BAMLes fichiers BAM sont directement générés par les séquenceurs Ion apparemment, cela éviterait de passer par le FASTQ. Le fichier BAM est une version compressée du fichier SAM. Il vaut mieux passer par une bibliothèque externe pour les li...Les fichiers BAM sont directement générés par les séquenceurs Ion apparemment, cela éviterait de passer par le FASTQ. Le fichier BAM est une version compressée du fichier SAM. Il vaut mieux passer par une bibliothèque externe pour les lire… Il existe par exemple htslib mais elle fait plein d'autres choses https://github.com/samtools/htslib (il y en a probablement d'autres)
***
@magiraud @mikael-sAlgo 2017.07Mikaël SalsonMikaël Salsonhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1473Axes génériques, depuis .json (coverage, evalue...)2021-07-12T16:09:41+02:00Vidjil TeamAxes génériques, depuis .json (coverage, evalue...)Être capable d'afficher n'importe quelle donnée passée dans le .json.
Notons que l'auto-découverte (comme pour le segmenter) peut ne pas être toujours très robuste et faire du bruit dans certains cas. Une solution acceptable pourrait êt...Être capable d'afficher n'importe quelle donnée passée dans le .json.
Notons que l'auto-découverte (comme pour le segmenter) peut ne pas être toujours très robuste et faire du bruit dans certains cas. Une solution acceptable pourrait être de demander à l'utilisateur de fournir une liste "axis" indiquant les axes à considérer (et en profiter pour demander le type entier / flottant / ..., ce qui peut être difficile à deviner).
***
Après réflexion, oui, il faudrait vraiment un mécanisme générique pour qu'on puisse spécifier quels axes on veut et ce qu'ils signifient (et on peut en profiter pour passer une chaîne d'aide) :
En ce moment, on aimerait pouvoir afficher
_coverage, en float, entre 0 et 1, "Coverage of the representative"
seg._evalue, en float, en échelle log, "E-value (number of k-mers)"
***
ping
***
Revenu au goût du jour le mois dernier avec "productive".
"Axes" veut dire x, y, et aussi couleur.
***
@nobodyRyan HerbertRyan Herberthttps://gitlab.inria.fr/vidjil/vidjil/-/issues/2550Être plus fin dans le choix du parseur BAM ou Fasta/Fastq2017-07-07T15:07:43+02:00Mathieu GiraudÊtre plus fin dans le choix du parseur BAM ou Fasta/FastqSuite à #2016 et c02b2b5 par @mikael-s :
> OnlineBAM instantiation is based on the file extension.
Pour l'instant cela ira !
> It could be based on the first bytes of the file (which would be more reliable).
Et/ou une option en dur p...Suite à #2016 et c02b2b5 par @mikael-s :
> OnlineBAM instantiation is based on the file extension.
Pour l'instant cela ira !
> It could be based on the first bytes of the file (which would be more reliable).
Et/ou une option en dur pour forcer tel ou tel parseur ?https://gitlab.inria.fr/vidjil/vidjil/-/issues/2551Faire marcher 'algo/tools' avec la réorganisation Fasta/BAM2017-08-28T15:57:38+02:00Mathieu GiraudFaire marcher 'algo/tools' avec la réorganisation Fasta/BAMSuite à !67, les programmes de `algo/tools` ne compilent plus.Suite à !67, les programmes de `algo/tools` ne compilent plus.https://gitlab.inria.fr/vidjil/vidjil/-/issues/1544Exploiter les qualités des .fastq ?2019-09-16T16:58:44+02:00Vidjil TeamExploiter les qualités des .fastq ?Difficile, pas de standard... et pour faire quoi ? Si c'est juste pour implémenter un filtre, il doit y avoir cela en sortie des séquenceurs.
Après, cela pourrait être mieux (calcul e-valeur en fonction, k-mots en fonction ?), mais bof...Difficile, pas de standard... et pour faire quoi ? Si c'est juste pour implémenter un filtre, il doit y avoir cela en sortie des séquenceurs.
Après, cela pourrait être mieux (calcul e-valeur en fonction, k-mots en fonction ?), mais bof.
***
Disons que ce qu'on a vu sur les problèmes de représentative (https://www.producteev.com/workspace/t/553e1de8b1fa09d063000007) montrent plutôt qu'on s'en sort déjà bien sans regarder la qualité.
***
@nobodyhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1678Tests .should-vdj: format ?2017-07-10T17:01:50+02:00Vidjil TeamTests .should-vdj: format ?On a pour l'instant ces deux formats :
TRBV6-1 7/0/12 TRBD2 1/8/2 TRBJ2-7 TRDV2*02_14/TCCCGGCCT/0_TRDD3*01_3/CCACGGC/4_TRAJ29*01__TRA+D
ou bien :
TRDD2*01_18//4_TRAJ29*01__TRA+D commentaire seq15
Il faut trouver un bon format qui convie...On a pour l'instant ces deux formats :
TRBV6-1 7/0/12 TRBD2 1/8/2 TRBJ2-7 TRDV2*02_14/TCCCGGCCT/0_TRDD3*01_3/CCACGGC/4_TRAJ29*01__TRA+D
ou bien :
TRDD2*01_18//4_TRAJ29*01__TRA+D commentaire seq15
Il faut trouver un bon format qui conviennent à tous.
- espace ou _ ?
espace plus naturel, mais comment savoir où l'on s'arrête ? (surtout si commentaire derrière)
'#' pour commentaires ?
- On avait des tests uniquement sur le locus. Pour l'instant "__" + locus. Comment faire ? [TRG] ?
- Accepter à la fois 4/ACT/0 et 4/3/0 ?
- Accepter à la fois TRDD2 et TRDD2*01 ? Le '*' dit qu'il y a un allèle ensuite ?
Problème si pas l'allèle: à quoi fait référence la délétion ?
-> *01 par convention (YF/AC ne savent pas vraiment, mais il faut bien qu'on décide quelque chose)
TRGV4 1/3/4 TRGJ2 -> TRGV4{soit rien, soit *..} 1/{soit 3, soit [ACGT]^3}/4 TRGJ2{soit rien, soit *..}
- Accepte-t-on à la fois TRGV4 et TRGV04 ?
Cela devient lourd, proposition: se limiter à la nomenclature IMGT
***
Le moins que l'on puisse dire, c'est que ce n'est pas clair.
Le format que j'ai donnée, c'est ce qur j'ai impossé comme transformation car popur rappel, toutes les annotations sanger sont faites a la main, avec du copié/collé des séquence et recherche sur IMGT.
A terme, maintenant que des outils efficaces axistent, les annotatons vont peu à peu se conformer à l'outil utilisé (vidijl ou IMGT, si il y a un standard ...).
***
Mon avis, c'est qu'il peux être interressant de pouvoir switcher entre 4/AGG/3 et 4/3/3. c'est parfois plus parlant.
-Les alleles sont interessantes a conservé. Nous ne les avions pas car apperment les technicienne du lab ne les notait pas ici.
-Pour les alleles toujours, si encore certains étaient sureprésenté (genre 90% du temps) on pourrait se permettre de ne pas forcer son indication, mais je ne pense pas que ce soit le cas ... Donc il a son intérêt.
- Pour le 4 ou le 04, il faudrait voir comment c'est noté dans imgt pour faciliter l'utilisation par l'user des différents outils.
***
ok.
Allèles : il s'agit bien de donner la possibilité de soit les avoir, soit ne pas les avoir, en fonction de qui fait le fichier .should-vdj.fa et des pratiques des uns ou des autres.
***
9c7a029
On accepte ainsi 4/AGG/3 et 4/3/3, tout comme TRDD2 et TRDD2*01.
make shouldvdj -> déjà 3 séquences sur les 15 de Florian passent, on est sur la bonne voie :-)
Florian, d'où viennent les nomenclatures telles que TRGJ1-1 et TRBD2-2 que tu utilises ?
Dans IMGT, c'est TRGJ1*01 TRBD2*02 (ici c'est bien un allèle),
à la différence de IGHV3-11 qui est bien un gène (si on veut l'allèle, c'est IGHV3-11*01)
Peut-être vaudrait-il mieux se conforter à l'usage IMGT ?
***
Je viens de verifier les séquences et d'en corriger certaines (pour lesquelles vidjil avait effectivement raison) et d'autre dont la nomenclature pechaient.
Il ne reste que trois erreurs, 2 dd2-DD3 non vu tel quel, et un cas difficile a arbitrer (enfin je prefererais avoir votre avis, cf fichier joint).
Il y a dans le cas de vidjil à la fois des insertions/déletions et mutations. Mais en même temps ,il y a un fragment de 6 nt qui colle après ça ...
***
e54b4f7 : on peut mettre "TODO" sur un .should-vdj (on sait qu'il loupe, mais les tests passent)
4c1bd7b : mis sur les trois tests en question de Florian
***
@magiraud @mikael-s @flothonihttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1369c++: détection CDR3: Cys, Phe/Trp + séquence en AA2019-10-23T07:37:53+02:00Vidjil Teamc++: détection CDR3: Cys, Phe/Trp + séquence en AAOn aurait pu tout faire en .js, mais le but est d'avoir les infos dans le .vidjil et être aussi capable d'afficher d'autres méthodes de détection de CDR3 (Nikos ou autres).
Tout cela sera appelé à la fin, en même temps que le FineSegmen...On aurait pu tout faire en .js, mais le but est d'avoir les infos dans le .vidjil et être aussi capable d'afficher d'autres méthodes de détection de CDR3 (Nikos ou autres).
Tout cela sera appelé à la fin, en même temps que le FineSegmenter (et cela pourrait même être après le fuse, mais bon...)
***
Marc, peux-tu pousser ce que tu as fait, sur une branche séparée ? Merci.
***
merci Marc. On doit maintenant regarder (comparer miTCR ?) (IMGT ?)
Faire des should_get à partir de certaines séquences ?
On voit cela au cours du mois de mars.
***
Voir le script cdr3_detection/cdr3Finder.py fait par Florian dans la branche cdr3.
Il faudra un jour mettre tout ou partie de cela dans le C++, tout en gardant une certaine vitesse.
***
à faire, important... en avril ?
***
Pour mémoire, échange de mail avec Florian :
Le 25 févr. 2016 à 15:28, Florian Thonier <florian.thonier@inserm.fr> a écrit :
>> # Run search of cys104 & his position
>> theotical_cys104 = dataGerm[clone["seg"].get("5", 0)][312-LEN_CYS104:312].replace(".","").upper() # fix better len for cys ?
>> clone = betterFinder(portion5, borne5, theotical_cys104, clone)
> 312 : d’où vient cette valeur ? Est-ce la position exacte/approchée où on doit trouver la Cys104 dans les séquences gappées ? Ou bien la position exacte est 312 - 15 ? (et est-ce que cela marche pour tous les locus ?)
La position exacte du cys104 est de 310 à 312.
Je pars des séquences gappées pour positionné la CYS. Sans les gaps, les séquences sont de taille très diverses, et je ne peux donc plus le positionner exactement.
Normalement, le principe des gap fourni par IMGT est justement d'être extrêmement correct sur cette portion, quelques soit le locus. J'en ai regardé de visu quelques unes pour vérifier à l'époque, ils ont des erreurs sur d'autres portions où des corrections manuels pourraient probablement être apportée.
> Et avec le replace(".",""), tu n’as plus les gaps ensuite ? (Est-ce que c’était important d’avoir les gaps au départ ?)
theotical_cys104 est donc un motif de taille 15, que tu recherches de manière exacte ou approchée
Je le recherche de manière approché, en autorisant des petites modifs. De souvenir, c'est un partie un peu bancale. Je calcul un score d’occurrence en essayant de tenir compte de possible insert ou mismatch. si le score est inférieur à 12 ou 9 nt d’occurrence sur 15 ou 12 de séquence, je ne poursuit pas. (a vérifier)
C'est la partie à améliorer. Le souci, c'est que les séquences des clones , dans cette portion et dans des cas extrêmes, peuvent parfois inclure des modifications qui empêchent la détection du pattern.
Il y aurait sûrement un meilleurs moyen d'approcher le pattern.
> cysStart = cys[len(cys)-3:]
cysStart est le début de theoretical_cys104 (mais est-ce la Cys104 ou juste le début du motif de taille 15 ?)
On obtient par cette manip le codon de la cys 104 théorique de ce segment. Il existe deux codons possible pour la cys (TGT et TGC).
====
>> #looking for trp/phe codons in CDR3 seq
>> admisibleSeq = [r"FG[A-Z]G", r"WG[A-Z]G", r"^FG"]
> D’où viennent exactement ces patterns ? Le dernier n’est-il pas beaucoup plus tolérant que tous les autres ? (ah oui, il est en dernier ?)
C'est patterns revenaient dans deux publications d'analyse de répertoire reposant sur la détection du CDR3. Etant majoritaires mais pas non plus exactes, j'ai inclut en plus le dernier. Comme tu l'as fait remarquer, il est en dernier; il y a un break qui arrête la recherche au premier pattern trouvé. Il est donc pris en compte que dans le cas ou les deux premier échouent.
***
Branche cdr3-c++.
Le coeur est 0aae0cf : la JUNCTION est ce qui va de la Cys104 à la Phe118/Trp118 :
- Repris les séquences gappées V
- Autant faire aussi des séquences gappées J, alignées sur les motifs dont parle Florian. IMGT ne les propose pas, on le fait donc (c2b0dfc)
On utilise l'alignement déjà fait dans align_against_collection. Pour l'instant, c'est simple : si on a 3 délétions à la fin du V, on considère que la position de référence de la Cys104 est 3 nucléotides plus à droite. Bref, on ne prend pas en compte d'autres indels qui pourraient arriver. Ce calcul pourrait être amélioré en récupérant la position exacte de l'alignement.
Il y a donc des cas où cela marche et des cas non (mais ou on devrait avoir la bonne longueur à +/- 1, voire 2, mais donc mauvaise prédiction de prédictif), voir les derniers commits de tests. Pour la release 2016.03 (qui doit avoir lieu cette semaine), on fera encore quelques adaptations, mais cette détection sera toujours marquée comme "expérimentale".
Florian, pourrais-tu regarder ce que cela donne ? Cela serait particulièrement utile que tu lance sur tes données ou sur les données de test en comparant ton script et en regardant les cas où il y a des différences. Attention, il faut faire "make get-all-data" dans germline pour récupérer/créer les fichiers gappés.
***
Branche cdr3-c++ mise à jour → c’est bon, on identifie maintenant la position de Cys104 et Phe118/Trp118 précisément dans la matrice de programmation dynamique (505c29d). Normalement on devrait maintenant trouver la bonne chose dans quasiment tous les cas.
(Dernier détail : IMGT va mettre certaines séquences comme "non-productives" car il y a des stop à l'extérieur du CDR3. Le "p" ou "u" calculé par Vidjil se limite à l'intérieur du CDR3.)
***
Je reviens après avoir fait un petit tour dans les résultats.
Premier point : ça marche super bien !
J'ai toutefois deux ou trois points.
- Les autres plate-formes incluent dans leur CDR3 les codons de la cys et de la phe/trp. Je pense que pour coller au mieux niveau interopérabilité, il faudrait aussi les inclure.
- Sinon, je pense qu'il y a en effet un problème au niveau de la position start. Le bug vient de savoir si la position de début est inclusive ou exclusive, mais cela provoque par exemple un mauvais positionnement du CDR3 dans l'interface web du CDR3.
- Le dernier point, c'est de savoir si vidjil doit chercher ou non les codons stop aussi en amont/aval. Certes, le CDR3 est fonctionnel, mais la séquence ne le sera peut-être pas. Soit il faut une double feature stop-cdr3 et stop-sequence, soit une seule qui prenne en compte les deux possibilités. Toutes les séquences que j'ai trouvées non conformes le sont à cause de ce point. En amont, ce serait relativement simple; en aval, je ne sais pas quelle est la limite avant qu'un codon stop soit handicapant lors de la traduction.
***
merci Florian pour tes remarques et ton travail là-dessus ! Je vais pousser bientôt tout cela dans dev.
1) Oui. Tu as raison, d'un côté, on doit donner ce que tout le monde attend... mais, de l'autre, on doit respecter les définitions IMGT. On va donc mettre les *deux* infos dans le json, cdr3 et junction, et chacun choisit ce qu'il veut.
2) A priori toutes les positions sont inclusives, normalement le c++ respecte cela. Après, on peut changer le côté browser pour qu'il respecte mieux, je vais enquêter
3) Disons que, pour l'instant, on ne dit que si le CDR3 est productif, pas plus. Le problème pour s'étendre "plus loin" est tout le problème du calcul de la séquence représentative. On peut avoir des reads d'un clone qui sont productifs, d'autre non. Bref, on mettra une tâche pour cela, mais on verra ultérieurement, à une prochaine release. Merci de garder tes séquences discordantes quelque part, on en aura bientôt besoin.
***
merci encore Florian ! C'est mergé.
***
#1370, #1371, #1372
***
@mikael-s @Duez @flothoni @magiraudhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/2672Segmenteur : l'ID devrait être souligné et non réécrit2023-03-01T16:07:28+01:00Mikaël SalsonSegmenteur : l'ID devrait être souligné et non réécritJ'ai un doute. Pas sûr s'il s'agit d'une ~feature ou d'un ~"!!-bug". Mais on a constaté avec @RyanHerb qu'en prod (mais en dev mode), quand on fait un highlight de la fenêtre celle-ci est écrite en toutes lettres en dessous de la séquenc...J'ai un doute. Pas sûr s'il s'agit d'une ~feature ou d'un ~"!!-bug". Mais on a constaté avec @RyanHerb qu'en prod (mais en dev mode), quand on fait un highlight de la fenêtre celle-ci est écrite en toutes lettres en dessous de la séquence au lieu d'avoir un souligné.
![Screenshot_20170926_172558](/uploads/5c4bffd168a76723ef5c1212e9653b22/Screenshot_20170926_172558.png)
Je ne vois pas bien l'intérêt de la réécrire. Un souligné est plus léger et plus clair.Ryan HerbertRyan Herberthttps://gitlab.inria.fr/vidjil/vidjil/-/issues/2797Mettre à jour (et renommer) format-analysis.org2018-09-07T08:06:36+02:00Mathieu GiraudMettre à jour (et renommer) format-analysis.orgWeb 2018.01https://gitlab.inria.fr/vidjil/vidjil/-/issues/2798Interaction avec bioinfos durant le workshop2017-11-29T09:16:55+01:00Mathieu GiraudInteraction avec bioinfos durant le workshop#1589 #2797 #2193
cc @RyanHerb @flothoni @aurelBZH#1589 #2797 #2193
cc @RyanHerb @flothoni @aurelBZHWeb 2017.11https://gitlab.inria.fr/vidjil/vidjil/-/issues/2828Export csv AIRR depuis l'algo2018-10-24T16:16:47+02:00Mathieu GiraudExport csv AIRR depuis l'algoDai N. aurait été intéressé par une sortie csv de l'algo, "comme depuis le client".
Peut-être le .vidjil peut aussi lui convenir.Dai N. aurait été intéressé par une sortie csv de l'algo, "comme depuis le client".
Peut-être le .vidjil peut aussi lui convenir.Algo 2018.092018-10-27https://gitlab.inria.fr/vidjil/vidjil/-/issues/2873Utilisation de IGoR sur quelques séquences pour affichage dans le client2017-11-22T22:18:51+01:00Mathieu GiraudUtilisation de IGoR sur quelques séquences pour affichage dans le clientDiscuté avec Thierry.
Prendre la probabilité `--Pgen` et éventuellement les scénarios `--scenarios`, en partant des modèles qu'ils proposent (TRA, TRB, IGH).
On pourrait, soit de notre côté, soit avec eux, soit eux :
- déjà fai...Discuté avec Thierry.
Prendre la probabilité `--Pgen` et éventuellement les scénarios `--scenarios`, en partant des modèles qu'ils proposent (TRA, TRB, IGH).
On pourrait, soit de notre côté, soit avec eux, soit eux :
- déjà faire un script wrapper encodant dans un `.vidjil` et
- éventuellement, avoir directement une sortie `.vidjil` à l'intérieur de IGoR.
vdj#513
cc @flothonihttps://gitlab.inria.fr/vidjil/vidjil/-/issues/2906Afficher mieux les infos de longueur dans l'info, _clone_average_length ?2017-11-29T08:01:22+01:00Mathieu GiraudAfficher mieux les infos de longueur dans l'info, _clone_average_length ?Suite à #2704.
Quand on fait `getHTMLInfo`, le `clone average length` est planqué, alors que le `length`, désormais non utilisé par défaut, est très visible.
Voir aussi #2814.
Transformer d'ailleurs dans le `.vidjil` le `_clone_average_...Suite à #2704.
Quand on fait `getHTMLInfo`, le `clone average length` est planqué, alors que le `length`, désormais non utilisé par défaut, est très visible.
Voir aussi #2814.
Transformer d'ailleurs dans le `.vidjil` le `_clone_average_length` en quelque chose de plus simple / visible `average_length` ? (en conservant la compatibilité) c65f2445bhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/2920Documenter germline/homo-sapiens.g et les méthodes de recombinaison2020-09-22T10:49:35+02:00Mathieu GiraudDocumenter germline/homo-sapiens.g et les méthodes de recombinaisonEn faisant !75/!76, je me rends compte que ni `doc/vidjil-algo.md`, ni `doc/locus.md` ne détaillent la syntaxe de `homo-sapiens.g`.
Derrière les questions de syntaxe, il y a aussi les questions de méthodes de recombinaison... qui ne so...En faisant !75/!76, je me rends compte que ni `doc/vidjil-algo.md`, ni `doc/locus.md` ne détaillent la syntaxe de `homo-sapiens.g`.
Derrière les questions de syntaxe, il y a aussi les questions de méthodes de recombinaison... qui ne sont tout simplement pas expliquées. Même si on peut renvoyer aux papiers, la ~doc doit fournir quelques éléments d'explications.
- la différence entre `53` et `543` peut sembler triviale, mais autant le dire.
- `MAX12` est évoquées cryptiquement dans `vidjil-algo.md`, c'est un peu mieux dans `locus.md`... alprs que c'est une option quasi "par défaut"
- `MAX1U` n'est pas évoqué (mais pas utilisé / à retester ?)
- et la nouvelle ONE #1724 (et d'ailleurs, trouver mieux que 31581d712d ?)
====
From duplicate #4012:
vidjil-algo is able to handle different germlines, either from IMGT/GENE-DB, or for other sources. Beyond the `-V / `-D`/`-J`options, the`.g\` file is very flexible. However (Zhang, 2019) reports that "more effort should be made to manage customization" vdj#919.
We should ensure that this is properly documented. What is the syntax of the `.g` file, and what are the recommended steps for anyone wishing to better use a custom germline ?https://gitlab.inria.fr/vidjil/vidjil/-/issues/2938Stocker la config dans le .vidjil ?2017-12-06T15:17:10+01:00Mathieu GiraudStocker la config dans le .vidjil ?On stocke actuellement dans `producer` la ligne de commande complète du ~cpp, avec les fichiers. On peut "deviner" la config, mais ce n'est pas très explicite. Voudrait-on stocker la config dedans ? A priori non, cela dépend du serveur.On stocke actuellement dans `producer` la ligne de commande complète du ~cpp, avec les fichiers. On peut "deviner" la config, mais ce n'est pas très explicite. Voudrait-on stocker la config dedans ? A priori non, cela dépend du serveur.https://gitlab.inria.fr/vidjil/vidjil/-/issues/2955Farie des wrappers pour d'autres logiciels RepSeq2017-12-13T10:59:58+01:00Mathieu GiraudFarie des wrappers pour d'autres logiciels RepSeqhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/3000Option pour afficher le json bien formaté sur stdout et/ou format_json plus i...2018-01-19T11:16:30+01:00Mathieu GiraudOption pour afficher le json bien formaté sur stdout et/ou format_json plus intéressantPlusieurs tests visent le json (`cat bla.vidjil | python format_json.py`).
J'ai plusieurs fois été frustré de ce que je pouvais tester dans le json. Une sortie "une ligne par clone" serait agréable à tester. Avoir une option pour cela d...Plusieurs tests visent le json (`cat bla.vidjil | python format_json.py`).
J'ai plusieurs fois été frustré de ce que je pouvais tester dans le json. Une sortie "une ligne par clone" serait agréable à tester. Avoir une option pour cela dans `format_json` ? Ou bien dans le ~cpp ?https://gitlab.inria.fr/vidjil/vidjil/-/issues/3049Mettre en json structué des infos pour l'instant dans le log2022-07-26T09:51:51+02:00Mathieu GiraudMettre en json structué des infos pour l'instant dans le log@flothoni dans #2235 :
> Discuté hier: pose la question d'avoir les données au format structuré dans le json et non plus en string.@flothoni dans #2235 :
> Discuté hier: pose la question d'avoir les données au format structuré dans le json et non plus en string.json-exporthttps://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/3159json: simple ou double quotes ?2018-04-10T11:35:48+02:00Mathieu Giraudjson: simple ou double quotes ?Je pensais jusqu'à il y a cinq minutes que `'bla'` et `"bla"` passaient également en json... et j'avais même tendance à privilégier les `'` pour alléger.
En fait seules les doubles quotes ont l'air standard, mais plusieurs implémentatio...Je pensais jusqu'à il y a cinq minutes que `'bla'` et `"bla"` passaient également en json... et j'avais même tendance à privilégier les `'` pour alléger.
En fait seules les doubles quotes ont l'air standard, mais plusieurs implémentations acceptent les deux : https://stackoverflow.com/questions/14355655/jquery-parsejson-single-quote-vs-double-quote
On suit ou pas ?
(En python et en javascript, pas de soucis pour utiliser l'un ou l'autre)https://gitlab.inria.fr/vidjil/vidjil/-/issues/3161Vérifier le format d'IMGT2018-04-10T18:02:11+02:00Mathieu GiraudVérifier le format d'IMGTIMGT peut modifier ses APIs/csvs.
Avoir un test pour détecter si cela influence notre utilisation, si des colonnes changent.IMGT peut modifier ses APIs/csvs.
Avoir un test pour détecter si cela influence notre utilisation, si des colonnes changent.https://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/3263Des analyses avec des BAM ne fonctionnent pas2020-01-22T15:48:29+01:00Thonier FlorianDes analyses avec des BAM ne fonctionnent pasJe tombe depuis quelques jours sur des bugs lors de lancement d'analyses de fichiers `BAM`.
Au début, comme il y avait des souci avec le missing id, je pensais à un lien. Il apparaît très clairement maintenant que le souci est ailleurs...Je tombe depuis quelques jours sur des bugs lors de lancement d'analyses de fichiers `BAM`.
Au début, comme il y avait des souci avec le missing id, je pensais à un lien. Il apparaît très clairement maintenant que le souci est ailleurs. En regardant le log complet de vidjil, je me rend compte qu'il est incapable de traiter le fichier :
```bash
vidjil-algo: bam.cpp:77: virtual void OnlineBAM::next(): Assertion `(bam_entry->core.flag & (1 | 64 | 128)) == 0' failed.
```
Je ne comprend pas vraiment l'erreur. Comme je n'ai pas d'autres fihciers bam en main, j'en ai téléchargé un depuis le serveur vidjil poru faire des tests. Il se trouve que sur celui-ci vidjil fonctionne parfaitement. J'ai alors pensé à des fichiers corrompus. J'ai alors voulu lancé une analyse via la commande suivante:
```bash
samtools quickcheck -v *.bam > bad_bams.fofn && echo 'all ok' || echo 'some files failed check, see bad_bams.fofn'
```
Le résultat montre que les deux fichiers (celui compatible vidjil et l'autre) sont à priori correctement formatés.
En soit, il ne semble donc pas être corrompus. Je vais quand même demander à l'utilisateur de me fournir un md5sum au cas ou. Le souci est que si l'erreur est en amont, a sa propore génération par le séquenceur, ca ne résoudra pas le souci.
en attendant, si ce n'est pas la source de l'erreur, je ne sais pas quoi faire d'autre.
@mikael\-s : Toi qui a dev la fonction pour les BAM, tu as une idée de la raison ?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/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/3451Format pour transmettre les barplots widgets2018-10-08T11:02:00+02:00Mathieu GiraudFormat pour transmettre les barplots widgetsVoir #3407
Voir aussi https://gitlab.inria.fr/vidjil/stats/issues/199#note_34038
(ci une simple liste [.85, .4, .23, .65] pourrait suffire.
cc @RyanHerbVoir #3407
Voir aussi https://gitlab.inria.fr/vidjil/stats/issues/199#note_34038
(ci une simple liste [.85, .4, .23, .65] pourrait suffire.
cc @RyanHerbhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/3457Utilisation du format AIRR2018-11-20T09:41:01+01:00Mathieu GiraudUtilisation du format AIRRAIRR nous demande explicitement (le 17 juillet pour le 24...) si on est prêt à utiliser leur format, éventuellement amendé.
- vidjil-algo: en sortie vidjil#2828. Je pense qu'on peut s'engager raisonnablement à faire une première version...AIRR nous demande explicitement (le 17 juillet pour le 24...) si on est prêt à utiliser leur format, éventuellement amendé.
- vidjil-algo: en sortie vidjil#2828. Je pense qu'on peut s'engager raisonnablement à faire une première version pour 2018.09.
- client: conversion/entrée via fuse.py, TBD ? Cela me semble plus délicat de s'engager.
Peut-on en discuter de vive voix à 15h ?Algo 2018.09Mathieu GiraudMathieu Giraudhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/3563Use a fasta file for -l ?2018-10-16T18:39:26+02:00Mathieu GiraudUse a fasta file for -l ?Do we have a reason to have a specific format for `-l` ?Do we have a reason to have a specific format for `-l` ?https://gitlab.inria.fr/vidjil/vidjil/-/issues/3566Supprimer / rationaliser le format .vdj des headers ?2018-10-24T16:27:47+02:00Mathieu GiraudSupprimer / rationaliser le format .vdj des headers ?On l'a peut-être oublié, nous disons sur stdout et dans la ~doc que le `.vdj.fa` est (l'un des) "main output file"(s).
Voir aussi http://www.vidjil.org/doc/vidjil-algo/#main-output-files
```
>clone-001--IGH--0000008--0.0608%--lcl|FLN1FA...On l'a peut-être oublié, nous disons sur stdout et dans la ~doc que le `.vdj.fa` est (l'un des) "main output file"(s).
Voir aussi http://www.vidjil.org/doc/vidjil-algo/#main-output-files
```
>clone-001--IGH--0000008--0.0608%--lcl|FLN1FA001CPAUQ.1|-[106,232]-#2 - 127 bp (54% of 232.0 bp) + VDJ 1 54 73 84 85 127 IGHV3-23*05 6/ACCCGGGAGGAACAATAT/9 IGHD6-13*01 0//5 IGHJ4*02 IGH SEG_+ 1.952469e-18 1.644625e-18/3.078448e-19 {52(45)96 p CTREEQYSSWYFDFW}
CTGTACCTGCAAATGAACAGCCTG ...
```
Une fois que l'on a #2828, on peut se demander ce qu'on doit conserver.
Est-ce que ces headers sont utiles ? Oui pour ~"dev\-tests\-curated\-vdj", mais qui pourrait utiliser autre chose #3567.
On garde bien sûr la sortie `.vdj.fa`... mais :
- cas extrême : on vire ce header, ou tout ce qui est après l'espace
- ou, après la partie sans espace, on met directement le ` .tsv` AIRR #2828 (problème: trop long)
- ou au moins le *début* du .tsv, à supposer qu'on ait un ordre intelligent - (!xxx essaie de faire cela)
Dans tout les cas, au minimum, mettre la génération de tout cela dans une sous-classe de `CloneOutput` #3592.https://gitlab.inria.fr/vidjil/vidjil/-/issues/3569AIRR : ajouter des champs optionnels2021-01-05T18:14:50+01:00Mathieu GiraudAIRR : ajouter des champs optionnels@mikael\-s, https://gitlab.inria.fr/vidjil/vidjil/issues/3457#note_125850 :
> (...) cdr3, cdr3_aa, {v,d,j}_support (e-value), {v,d,j}_sequence_{start,end} (...)
cc @flothoni@mikael\-s, https://gitlab.inria.fr/vidjil/vidjil/issues/3457#note_125850 :
> (...) cdr3, cdr3_aa, {v,d,j}_support (e-value), {v,d,j}_sequence_{start,end} (...)
cc @flothoniAlgo 2021.02https://gitlab.inria.fr/vidjil/vidjil/-/issues/3585Labels should be stored in the fused file2018-12-04T18:41:45+01:00Mikaël SalsonLabels should be stored in the fused fileDiscussed with @meidanis: the labels that are stored in the .vidjil file appear to be discarded by the `fuse.py` file. This is a pity!Discussed with @meidanis: the labels that are stored in the .vidjil file appear to be discarded by the `fuse.py` file. This is a pity!Mathieu GiraudMathieu Giraudhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/3590AIRR et nombre de reads : finalement duplicate_count ?2018-10-24T16:16:48+02:00Mathieu GiraudAIRR et nombre de reads : finalement duplicate_count ?J'allais envoyer le mail à AIRR quand je suis retonbé sur cette discussion par mail:
> > (Vidjil) Note that we focus on *clones* throughout all the Vidjil platform, not on individual reads. We plan to use the "consensus_count" key of th...J'allais envoyer le mail à AIRR quand je suis retonbé sur cette discussion par mail:
> > (Vidjil) Note that we focus on *clones* throughout all the Vidjil platform, not on individual reads. We plan to use the "consensus_count" key of the AIRR format to encode the number of reads belonging to a clone, is it the good way to go ?
> (JVH, AIRR) For counting clones, the `duplicate_count` field would be more appropriate; `consensus_count` is for UMI consensus read annotation. However, if you want a clonotype summary report (eg, count of unique CDR3s without V/J annotations), then the Rearrangement format isn't really suitable for that. This might be a format we have to consider designing, if there is enough demand for it. (This is a grey area though, because it's more of a custom analysis output than something we can standardize.)
Voir https://gitlab.inria.fr/vidjil/vidjil/issues/3457#note_125973 par @flothoni et autres commentaireshttps://gitlab.inria.fr/vidjil/vidjil/-/issues/3591AIRR pour la plateforme web2021-01-15T09:19:20+01:00Mathieu GiraudAIRR pour la plateforme webPrend la suite de #3457.
Conversion/entrée via fuse.py #3673, natif depuis le .js #3967 ?
cc @flothoniPrend la suite de #3457.
Conversion/entrée via fuse.py #3673, natif depuis le .js #3967 ?
cc @flothonihttps://gitlab.inria.fr/vidjil/vidjil/-/issues/3645Extend normalization with custom normalized_reads2018-12-28T08:13:10+01:00Mathieu GiraudExtend normalization with custom normalized_readsAter #3644, implement `normalized_reads` handling in `normalize()`Ater #3644, implement `normalized_reads` handling in `normalize()`Thonier FlorianThonier Florianhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/3646Document normalize_reads in doc/vidjil-format.md2023-03-28T16:34:30+02:00Mathieu GiraudDocument normalize_reads in doc/vidjil-format.md#3645#3645Web 2021.05https://gitlab.inria.fr/vidjil/vidjil/-/issues/3795Pertinence du format .vdj.fa et documentation2020-07-30T20:49:08+02:00Mathieu GiraudPertinence du format .vdj.fa et documentationLa ~doc du ~cpp a une grande partie, plutôt historique, sur `.vdj`. (Elle est certes après celle sur AIRR... mais par contre le `.vidjil` n'est pas décrit dans cette doc.)
Est-ce que ces infos sur `.vdj` sont toujours à jour ? Je doute ...La ~doc du ~cpp a une grande partie, plutôt historique, sur `.vdj`. (Elle est certes après celle sur AIRR... mais par contre le `.vidjil` n'est pas décrit dans cette doc.)
Est-ce que ces infos sur `.vdj` sont toujours à jour ? Je doute de leur pertinence vu, d'un côté, le `.vidjil`, et, de l'autre, le AIRR. Nous n'avons maintenant pas vraiment envie que des bioinfos construisent des pipelines en s'appuyant dessus, non ?
Supprimer cela ? Le réduire fortement ?Algo 2020.08https://gitlab.inria.fr/vidjil/vidjil/-/issues/3852Grep reads et vidjil-algo : le fichier résultant peut mélanger FASTA et FASTQ2019-03-21T09:04:50+01:00Mikaël SalsonGrep reads et vidjil-algo : le fichier résultant peut mélanger FASTA et FASTQIl s'agit du fichier produit pour chaque clone de Vidjil-algo. Il contient également la séquence de la fenêtre et la séquence consensus. Ces deux séquence sont ajoutées au format fasta alors qu'il y a des chances que le fichier de reads ...Il s'agit du fichier produit pour chaque clone de Vidjil-algo. Il contient également la séquence de la fenêtre et la séquence consensus. Ces deux séquence sont ajoutées au format fasta alors qu'il y a des chances que le fichier de reads soit au format FASTQ (et donc dans ce cas les reads seront sortis en FASTQ).
Ce mélange de format empêche toute analyse par un autre logiciel sans manipulation manuelle.https://gitlab.inria.fr/vidjil/vidjil/-/issues/4088Que renseigner dans le .vidjil pour que le "color by N" soit fonctionnel ?2019-12-10T10:56:36+01:00Mathieu GiraudQue renseigner dans le .vidjil pour que le "color by N" soit fonctionnel ?Question de @pduroux.
Dans `clone.js` :
```
getNlength: function () {
if (this.hasSeg('3', '5')){
return this.seg['3'].start-this.seg['5'].stop-1
```Question de @pduroux.
Dans `clone.js` :
```
getNlength: function () {
if (this.hasSeg('3', '5')){
return this.seg['3'].start-this.seg['5'].stop-1
```https://gitlab.inria.fr/vidjil/vidjil/-/issues/4099Virgule dans l'export AIRR en cas d'alternatives trouvées par IMGT/V-QUEST2019-12-10T14:09:42+01:00Mathieu GiraudVirgule dans l'export AIRR en cas d'alternatives trouvées par IMGT/V-QUESTHello @pduroux,
Parallèlement à ce que vous faites, @flothoni travaille sur l'import AIRR de plusieurs logiciels #3673, dont IMGT/V-QUEST. On voit par exemple dans une de vos sorties AIRR:
```
Homsap IGKV3-11*01 F, or Homsap IGKV3-11*02...Hello @pduroux,
Parallèlement à ce que vous faites, @flothoni travaille sur l'import AIRR de plusieurs logiciels #3673, dont IMGT/V-QUEST. On voit par exemple dans une de vos sorties AIRR:
```
Homsap IGKV3-11*01 F, or Homsap IGKV3-11*02 F or Homsap IGKV3D-11*01 F or Homsap IGKV3D-11*02 F
```
Est-ce voulu qu'il y ait une virgule `,` après le premier gène et pas ensuite ? Ou des virgules partout, sans `or`, seraient-elles plus prévisibles ?
(En interne, @flothoni garde `IGKV3-11*01` comme premier choix du V)https://gitlab.inria.fr/vidjil/vidjil/-/issues/4156Zone de commentaire par clone sur le rapport et/ou le panel info d'un clone2021-11-19T11:06:57+01:00Thonier FlorianZone de commentaire par clone sur le rapport et/ou le panel info d'un clone~"REN-Rennes" n'utilise pour le moment pas la génération de rapport depuis l'interface. ils copient/collent les exports fasta, font leur design d'amorce dans un fichier texte.
Une solution serait d'avoir la possibilité d'ouvrir une zone...~"REN-Rennes" n'utilise pour le moment pas la génération de rapport depuis l'interface. ils copient/collent les exports fasta, font leur design d'amorce dans un fichier texte.
Une solution serait d'avoir la possibilité d'ouvrir une zone de texte associée à chaque clone présent dans le rapport. Pour ne pas encombrer inutilement le rapport, nous pourrions imaginer un bouton"`+` ou autre à la fin de la ligne clone qui permettrai d'ajouter une zone de texte en dessous de chaque clone pour que les utilisateurs puissent y coller ce genre d'informations supplémentaires.
Point bonus; ces informations doivent-elles être sauvegardées dans le `.analysis` ? Dans ce cas quelle serait le meilleur endroit pour les rentrer ? Depuis le panel info d'un clone via une zone texte ?https://gitlab.inria.fr/vidjil/vidjil/-/issues/2155Tracer la version de germlines utilisée dans l'algo2018-09-07T08:06:04+02:00Mathieu GiraudTracer la version de germlines utilisée dans l'algoSuite à #2154 :
De la même manière qu'on fait attention à la version de l'algo, ne faudrait-il pas stocker le `germline_id` dans le `.vidjil` ?
Je pinaille, mais bon...
@mikael-sSuite à #2154 :
De la même manière qu'on fait attention à la version de l'algo, ne faudrait-il pas stocker le `germline_id` dans le `.vidjil` ?
Je pinaille, mais bon...
@mikael-sAlgo 2017.03https://gitlab.inria.fr/vidjil/vidjil/-/issues/2176Sauvegarder et utiliser l'id des samples dans les fichiers .analysis2017-05-18T10:06:17+02:00Thonier FlorianSauvegarder et utiliser l'id des samples dans les fichiers .analysisBug aperçu sur Rennes, et d'origine connue.
Un point est inversé avec un autre (notemment un contrôle et un échantillion patient).
Avant le chargement de l'analyse, le contenu des analyses est correctement fourni. Ensuie, lorsque l'a...Bug aperçu sur Rennes, et d'origine connue.
Un point est inversé avec un autre (notemment un contrôle et un échantillion patient).
Avant le chargement de l'analyse, le contenu des analyses est correctement fourni. Ensuie, lorsque l'analysis est chargé, il y a une inversion du nom entre plusieurs samples.
![bug_ordre_liste](/uploads/2e7bbe44e1babc09f9e5eacca48df698/bug_ordre_liste.png)
![bug_ordre_liste2](/uploads/a0aace27f9957e28bb589afe01f04d3c/bug_ordre_liste2.png)
L'origine du bug est reproductible, d'ailleurs observable sur un second patient.
Lors de la création du patient, 5 samples ont été chargés, 3 ech réels, et deux "témoins", avec les bonnes date d'analyses renseignées.
Suite a une inversion entre deux patients, le point sample 3 de ces deux patients a été retiré et remplacé par le nouveau fichier.
Maintenant, lorsque l'on recharge l'analyse, on a dans un premier temps le bon affichage.
Je n'ai pas encore eu le temps de localiser l'origine de l'erreur, ni de la reproduire moi-même. Je présume cela dit qu'il y a une réassignation du titre dasn l'axe sur une liste non sorted par la date d'analyse (supposition)
@magiraud @mikael-s @RyanHerb
PS : le bug est assez grave car on peux ainsi intervertir les observations entre deux dates, et n'est pas forcement facilement visualisable et a déjà pu passer inaperçu.Web 2017.05Thonier FlorianThonier Florianhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/4316evalue D et autres dans .vidjil2020-06-03T19:51:25+02:00Mathieu Giraudevalue D et autres dans .vidjilAcutellement, on a `seg.evalue_{left,right}`.
1) Renomme-t-on cela en `seg.{5,3}.evalue` ? C'est un breaking change du format.
2) Ajoute-t-on un `seg.4.evalue` ? C'est un champ de AIRR #3569, pour l'instant on ne le sort pas. D'autant ...Acutellement, on a `seg.evalue_{left,right}`.
1) Renomme-t-on cela en `seg.{5,3}.evalue` ? C'est un breaking change du format.
2) Ajoute-t-on un `seg.4.evalue` ? C'est un champ de AIRR #3569, pour l'instant on ne le sort pas. D'autant que la e-valeur sur D peut-être informative #2002https://gitlab.inria.fr/vidjil/vidjil/-/issues/4317Faire évoluer vidjil_format ?2020-06-11T22:18:16+02:00Mathieu GiraudFaire évoluer vidjil_format ?
Actuellement `vidjil_format_version` est toujours `2016b`. Est-on vraiment compatible avec les champs que l'on sortait il y a quatre ans ?
On a ajouté des choses (normalisations, distributions, ...), comme on n'a rien cassé est-ce norm...
Actuellement `vidjil_format_version` est toujours `2016b`. Est-on vraiment compatible avec les champs que l'on sortait il y a quatre ans ?
On a ajouté des choses (normalisations, distributions, ...), comme on n'a rien cassé est-ce normal qu'on n'ait pas changé le numéro de version ? Mais... si quelqu'un avait fait un script qui parsait tout `2016b` il y a quatre ans, désormais il ne parserait pas tout...
Rien de pressé, mais y-a-t-il des choses à faire évoluer ? #4316
Enfin notre ~doc là-dessus est peut-être moins complète que sur d'autres points. Rajouter des `tangle` ?
cc @flothonihttps://gitlab.inria.fr/vidjil/vidjil/-/issues/43270-based / 1-based2021-12-07T18:39:44+01:00Mathieu Giraud0-based / 1-basedSuite à remarque de @flothoni sur !715.
Je pense qu'on est, pour nos usagers, pour les sorties du ~cpp, et pour le ~client, partout 1-based. Probablement il faut le dire mieux dans la ~doc.
(très anciennes issues: #1942, #1958, #1869)...Suite à remarque de @flothoni sur !715.
Je pense qu'on est, pour nos usagers, pour les sorties du ~cpp, et pour le ~client, partout 1-based. Probablement il faut le dire mieux dans la ~doc.
(très anciennes issues: #1942, #1958, #1869)
Par contre, je pense qu'on est 0-based en *interne* du ~cpp. Mais est-ce systématique ? (Je vois par exemple "JUNCTIONstart is 1-based"). Faut-il progresser vers quelque chose de plus systématique ?https://gitlab.inria.fr/vidjil/vidjil/-/issues/4364Documenter `stock_order`2020-07-23T12:11:28+02:00Mikaël SalsonDocumenter `stock_order`Suite à !737Suite à !737Thonier FlorianThonier Florianhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/4452Sample metadata: How could we specify in a .vidjil file that a sample is a di...2020-08-05T15:10:21+02:00Mathieu GiraudSample metadata: How could we specify in a .vidjil file that a sample is a diagnosis sample?Or that it has other tags/properties ?
@flothoni : "see also !654"Or that it has other tags/properties ?
@flothoni : "see also !654"https://gitlab.inria.fr/vidjil/vidjil/-/issues/2239`-y all`: on devrait avoir les séquences consensus dans `.vdj.fa`2017-03-29T19:45:07+02:00Mathieu Giraud`-y all`: on devrait avoir les séquences consensus dans `.vdj.fa`Vu à l'occasion d'une démo ce matin avec ~"Paris-Pitié".
Sur Stanford S22, ajouter `-y all -z 5`. On s'attend à avoir les représentatives pour toutes les séquences dans `out/xxxxx.vdj.fa`.
Il semblerait que ce ne soit pas le cas, qu'il...Vu à l'occasion d'une démo ce matin avec ~"Paris-Pitié".
Sur Stanford S22, ajouter `-y all -z 5`. On s'attend à avoir les représentatives pour toutes les séquences dans `out/xxxxx.vdj.fa`.
Il semblerait que ce ne soit pas le cas, qu'il s'arrête au `-z 5` et qu'on a ensuite uniquement les fenêtres. À vérifier.
cc @mikael-sAlgo 2017.03https://gitlab.inria.fr/vidjil/vidjil/-/issues/5Interacting with RepSeq software2019-04-03T07:49:46+02:00Mathieu GiraudInteracting with RepSeq softwareWe develop the web application (both client and server) to be independent from the Vidjil algorithm. We try to include or to link several software to pre-process, process, or post-process RepSeq data. We both use and propose APIs to work...We develop the web application (both client and server) to be independent from the Vidjil algorithm. We try to include or to link several software to pre-process, process, or post-process RepSeq data. We both use and propose APIs to work within a ecosystem of RepSeq software. We contribute to open formats to exchange RepSeq data.https://gitlab.inria.fr/vidjil/vidjil/-/issues/1048Stats sur le jeu complet dans le fichier .vidjil / smaller clones2019-10-29T14:38:34+01:00Vidjil TeamStats sur le jeu complet dans le fichier .vidjil / smaller clonesReparlé plusieurs fois lors des dernières semaines.
Quels stats seraient intéressantes, sur tous les clones (pas seulement les FineSegmentés) ? Distribution des longueurs (on l'a, mais un peu brut), autres ?
(distribution V/J/CDR3/... de...Reparlé plusieurs fois lors des dernières semaines.
Quels stats seraient intéressantes, sur tous les clones (pas seulement les FineSegmentés) ? Distribution des longueurs (on l'a, mais un peu brut), autres ?
(distribution V/J/CDR3/... demanderait de faire plus de FineSegmenter)
***
@nobodyhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1081Utiliser le nouveau format .analysis2016-11-29T14:31:34+01:00Vidjil TeamUtiliser le nouveau format .analysissur branche à part
***
La semaine prochaine? On essaie déjà de mettre en prod le server avant
***
- s'assurer que les fichiers sur bx.vidjil.org sont au nouveau format
- message d'erreur si le fichier est à l'ancien format
***
le format...sur branche à part
***
La semaine prochaine? On essaie déjà de mettre en prod le server avant
***
- s'assurer que les fichiers sur bx.vidjil.org sont au nouveau format
- message d'erreur si le fichier est à l'ancien format
***
le format analysis '2014.09' est ok
TODO : supprimer le fallback '2014.02'
***
Euh... je ne vois plus les fichiers analysis d'avant (testé pour Van Cel, Lec Lec...)
Est-ce parce que le parser 2014.02 ne marche plus trop ?
Uncaught TypeError: Cannot read property 'length' of undefined model.js:694
***
fallback '2014.02' retiré
les fichiers analysis sur la db sont tous au format '2014.09'
***
Désolé d'insister, mais je ne vois toujours pas les .analysis (Van Cel par exemple)
(Safari: TypeError: 'undefined' is not an object (evaluating 'c.length'))
***
Mikaël, est-ce que cela marche pour toi ?
***
Ah, cela commence à fonctionner. C'est de ma faute, je n'avais pas tout rafraîchi ?
On fera ensemble une passe sur les patients mardi
***
Que fait-on pour les fichiers existants sur bioinfo.lifl.fr ? Est-ce qu'on reste avec ces vieux fichiers (ce qui va nous poser problème un jour ou l'autre) ? Ou est-ce qu'on les convertit et si oui comment ?
Par exemple pour le run de Necker qui a tourné avec une version récente de Vidjil, sauf que bioinfo n'a pas la dernière version du browser. Si je passe à la dernière version du browser, je casse tout pour les autres utilisateurs… (qui ont des vieux fichiers)
***
Proposition :
- on ne casse pas bioinfo, on le laisse à la vieille version, jusqu'à ce que tout nos utilisateurs soient migrés vers rbx.
Et donc pour Necker, deux solutions :
- on relance le run avec la vieille version (branche vidjil.org)
- un jour, on les met sur le serveur
***
@Duezhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1158Message d'erreur si chargement .data ne marche pas2020-12-11T12:57:30+01:00Vidjil TeamMessage d'erreur si chargement .data ne marche pasFilip : "I've tried to import my vidjil.data file to the new version of browser but
it seems to be broken. It doesn't import any data when I click on start
button."
Peut-être qu'il n'a pas la bonne version du .data, mais un message d'er...Filip : "I've tried to import my vidjil.data file to the new version of browser but
it seems to be broken. It doesn't import any data when I click on start
button."
Peut-être qu'il n'a pas la bonne version du .data, mais un message d'erreur serait le bienvenu :-) Un catchall de toutes les exceptions qui peuvent arriver à ce niveau ?
***
Peut-être que cela marche avec le bug corrigé aujourd'hui dans 7b4029582
Vérifier que le truc est bien bétonné.
***
Il y a un cas rigolo où cela ne marche toujours pas, si on met un fichier analysis à la place de data, hihihi.
Evidemment, on peut faire des tests en plus, mais il y aura toujours le cas où un fichier malformé pourra faire bugguer une partie. Bref, un catch de toutes les exceptions me semble une bonne solution, au moins pour indiquer "Parse failed."
***
J'insiste, c'est primordial, surtout quand on est en train de changer le format .data...
-> un catch de toutes les exceptions me semble une bonne solution, au moins pour indiquer "Parse failed."
***
y compris "see result TRG"
***
descendu, on n'a plus eu de problème récemment
***
@Duezhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1173Nouveau format .data : discuter, implémenter, réparer les unit tests :)2016-11-29T14:32:45+01:00Vidjil TeamNouveau format .data : discuter, implémenter, réparer les unit tests :)Branche "data"
Pourquoi haute priorité ?
Avant de faire une migration de tout le monde vers rbx.vidjil.org (et donc de tout relancer), on a intérêt a avoir un .data aussi stable (et pensé pour le multi-germline qui arrive).
***
DL au 15...Branche "data"
Pourquoi haute priorité ?
Avant de faire une migration de tout le monde vers rbx.vidjil.org (et donc de tout relancer), on a intérêt a avoir un .data aussi stable (et pensé pour le multi-germline qui arrive).
***
DL au 15/10 → pour ensuite envoyer la doc à Jack
***
@magiraud @mikael-s @Duezhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1244versions 2014.10 et .09 : deux limites différentes2016-11-29T14:33:41+01:00Vidjil Teamversions 2014.10 et .09 : deux limites différentesdescendu, on arrive à vivre avec
***
@Duezdescendu, on arrive à vivre avec
***
@Duezhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1370export du C++ vers le fichier .vidjil (comme pour "seg" ?)2016-11-29T14:35:26+01:00Vidjil Teamexport du C++ vers le fichier .vidjil (comme pour "seg" ?)
***
#1369
***
#1369https://gitlab.inria.fr/vidjil/vidjil/-/issues/1371détecter Cys, Phe/Trp, "vers le bon endroit" (pas trop loin de la window)2016-11-29T14:35:26+01:00Vidjil Teamdétecter Cys, Phe/Trp, "vers le bon endroit" (pas trop loin de la window)
***
#1369
***
#1369https://gitlab.inria.fr/vidjil/vidjil/-/issues/1372traduire en AA2017-11-23T15:57:29+01:00Vidjil Teamtraduire en AA
***
#1369
***
#1369https://gitlab.inria.fr/vidjil/vidjil/-/issues/1431Galaxy2023-03-02T08:42:20+01:00Vidjil TeamGalaxy?
***
il faut juste que je les recontacte... Rotterdam, pas de nouvelle. Je baisse.
***
@magiraud?
***
il faut juste que je les recontacte... Rotterdam, pas de nouvelle. Je baisse.
***
@magiraudhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1528Positions dans les séquences commençant à 12021-10-21T19:00:56+02:00Vidjil TeamPositions dans les séquences commençant à 1À plusieurs endroits, on fait débuter la position par 0.
- bornes dans représentative
- infos de segmentation VJ
(Y-a-t-il un endroit où on fait commencer par 1 ?)
Vérifier que la pratique est 1 (que fait IMGT, que fait IgBlast...À plusieurs endroits, on fait débuter la position par 0.
- bornes dans représentative
- infos de segmentation VJ
(Y-a-t-il un endroit où on fait commencer par 1 ?)
Vérifier que la pratique est 1 (que fait IMGT, que fait IgBlast ?).
Et regarder un peu partout dans notre code... :(
***
@nobodyhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1561.vidjil : pouvoir stocker plusieurs gènes D2020-12-11T13:11:20+01:00Vidjil Team.vidjil : pouvoir stocker plusieurs gènes DLe fichier .vidjil ne permet de stocker qu'un gène 5', « 4' » et 3'. On pourrait en avoir plusieurs (c'est au moins vrai pour le « 4' », mais tant qu'à le gérer pour celui-là autant le faire pour les autres aussi). Ça veut dire avoir des...Le fichier .vidjil ne permet de stocker qu'un gène 5', « 4' » et 3'. On pourrait en avoir plusieurs (c'est au moins vrai pour le « 4' », mais tant qu'à le gérer pour celui-là autant le faire pour les autres aussi). Ça veut dire avoir des listes pour "5", "4" et "3" ( avec les "start" et "end" à l'intérieur) ?
D'ailleurs le nombre de délétions n'est jamais stocké explicitement dans un champ à part : il apparaît dans le nom de la segmentation mais c'est tout. Une occasion pour l'ajouter ?
***
évoqué vendredi dernier. Pas facile, faire du 4b (et éventuellement 4c ?)
***
@nobodyhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1593Format de germlines/*.g pas suffisamment souple2020-08-21T13:25:47+02:00Vidjil TeamFormat de germlines/*.g pas suffisamment soupleDans germlines.data on a deux entrées pour TRA+D mais en fait l'une va écraser l'autre. D'autre part on a TRD+ qui est défini comme :
"5": ["TRDV.fa", "TRDD2-01.fa"],
"3": ["TRDJ.fa", "TRDD3-01.fa"]
mais cela inclut le...Dans germlines.data on a deux entrées pour TRA+D mais en fait l'une va écraser l'autre. D'autre part on a TRD+ qui est défini comme :
"5": ["TRDV.fa", "TRDD2-01.fa"],
"3": ["TRDJ.fa", "TRDD3-01.fa"]
mais cela inclut le réarrangement TRDV/TRDJ qui doit être géré par ailleurs (avec un TRDD au milieu).
Bref on veut définir plusieurs listes de gènes "5", "4" et "3" au sein d'une même entrée.
"possible_recombinations": {
{ "5" : ["TRDV.fa"], "3" : ["TRDD3-01fa"]},
{ "5" : ["TRDD2-01.fa"], "3" : ["TRDD3-01.fa", "TRDJ.fa"]},
etc.
}
***
Si on le fait, cela évitera de plus de répéter les shortcut/color/description (et "recombinations" suffira)
Mais cela veut dire que tout le monde a les même "parameters". C'est loin d'être évident entre un Dd2-Dd3 et un Vd-Dd2 (même si le up/downstream aide).
***
On pourrait aussi enlever le "follows", cela avait un sens avant dans l'algo, plus maintenant.
Ou alors le renommer en un truc type "family" ou "locus".
***
d935001.
On verra plus tard pour question de "parameters"
***
@magiraud @mikael-shttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1602Sauvegarder les changements de germline et gènes dans le fichier .analysis2016-11-29T14:38:27+01:00Vidjil TeamSauvegarder les changements de germline et gènes dans le fichier .analysisLorsque les tâches « changer les gènes V/D/J d'un clone », « changer le germline d'un clone » seront faites il faudra conserver les modifications dans le fichier .analysis pour les rejouer lors du rechargement du fichier.
***
=== save
mo...Lorsque les tâches « changer les gènes V/D/J d'un clone », « changer le germline d'un clone » seront faites il faudra conserver les modifications dans le fichier .analysis pour les rejouer lors du rechargement du fichier.
***
=== save
model_loader: strAnalysis()
=== load
model_loader: parseJsonAnalysis() -> appelle initClones(), puiis model:
===> applyAnalysis() (devrait être renommé applyCloneAnalysis)
***
=== save
model_loader: strAnalysis() : fait; utilisation de la var manuallyChanged pour identifier les clones concernés.
***
Si c'est bon, tu peux fermer la tâche :-)
***
@flothonihttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1773clones : null si pas de clones2020-02-03T16:25:09+01:00Vidjil Teamclones : null si pas de clonesVoir "Problème avec fuse ? Nombreux fuse failed"
Le C++ ne devrait pas sortir "null" de toute façon.
Mais bon, maintenant ce n'est plus urgent.
***
@magiraudVoir "Problème avec fuse ? Nombreux fuse failed"
Le C++ ne devrait pas sortir "null" de toute façon.
Mais bon, maintenant ce n'est plus urgent.
***
@magiraudhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1785Export ou import VDJtools2023-06-28T16:39:34+02:00Vidjil TeamExport ou import VDJtoolshttp://vdjtools-doc.readthedocs.org/en/latest/input.html#vdjtools-format
Nécessite d'avoir d'abord le CDR3.
***
@nobodyhttp://vdjtools-doc.readthedocs.org/en/latest/input.html#vdjtools-format
Nécessite d'avoir d'abord le CDR3.
***
@nobodyhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1792VDDJ et sortie json2022-06-21T11:40:21+02:00Vidjil TeamVDDJ et sortie jsonLa release 2016.02 sort "4", "4a" pour D1 (avant D) et "4b" pour D2 (après D). Florian, tu peux traduire cela en ce que tu veux pour toi.
Il faudra réfléchir à un nommage plus régulier : 4a, 4b, 4c.. ? mais donc pas de 4 si plusieurs D ...La release 2016.02 sort "4", "4a" pour D1 (avant D) et "4b" pour D2 (après D). Florian, tu peux traduire cela en ce que tu veux pour toi.
Il faudra réfléchir à un nommage plus régulier : 4a, 4b, 4c.. ? mais donc pas de 4 si plusieurs D ? Idem pour les N1/N2, sont-ils vraiment nécessaires dans le json ?
***
Très bonne question.
Disons que pour l'utilisateur, l'information sur le premier D trouvé n'a que peu d'intérêt, mais d'un point de vue technique, il s'agit pourtant du plus fiable non ?
Pour une question d'interopérabilité entre différents logiciels, il serait bon de simplement les nommer 4a,b , c... (pour les cas extrêmes). On aurait ainsi plus de flexibilité.
Pour les N, la question c'est de savoir si on continue sur N1, N2, et Nxx ensuite. N1 peut passer, mais N2 devient obsolète. Est-il possible de faire Nx-y ? Ça donnerait Nv-j, Nv-a, Na-b, ... Ce n'est pas très esthétique, mais plus parlant pour quelqu'un d'extérieur.
Ensuite il reste les cas des ddj. Le premier d est toujours considéré comme un 5 ? Ça donnerait quoi dans ce cas ? il faudrait empêcher les N1 pour aller directement au "Na-b", ou autre solution retenue.
***
On parlera de cela tranquillement en mars voire avril, rien d'urgent.
Pour les N, une solution est tout simplement de .... supprimer cette sortie, comme c'est redondant avec les coordonnées.
(Les DDJ sont pour l'instant toujours mis comme 5-4-3.)
***
Fait. 4a, 4b, etc.
***
Non, ce n'est pas fait. "4a" / "4" / "4b" sont codés en dur dans core/segment.cpp.
Voir par exemple la sortie de should-vdj-tests/0000-nck-TRD+-VDDJ.should-vdj.fa
***
@nobodyhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1813Mieux tester les champs critiques de la sortie .vidjil2018-04-16T16:42:11+02:00Vidjil TeamMieux tester les champs critiques de la sortie .vidjilCela peut être une bonne pénitence de faire un .should_get ou deux.
***
@mikael-sCela peut être une bonne pénitence de faire un .should_get ou deux.
***
@mikael-shttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1841VidjilFieldExtractor, extract : autres infos, FR1234/CDR1232020-05-28T13:08:28+02:00Vidjil TeamVidjilFieldExtractor, extract : autres infos, FR1234/CDR123https://mixcr.readthedocs.org/en/latest/export.html#default-anchor-point-positions
On devrait aussi récupérer FR1, CDR1, FR2, CDR2, FR3, CDR3, FR4, à chaque fois avec start et stop.
***
@RyanHerbhttps://mixcr.readthedocs.org/en/latest/export.html#default-anchor-point-positions
On devrait aussi récupérer FR1, CDR1, FR2, CDR2, FR3, CDR3, FR4, à chaque fois avec start et stop.
***
@RyanHerbhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1869Les valeurs 5end et 4end dans .vidjil devraient être basées sur 1 / 1-based2020-06-10T13:23:13+02:00Vidjil TeamLes valeurs 5end et 4end dans .vidjil devraient être basées sur 1 / 1-basedSur ce patient : http://app.vidjil.org/beta/browser/?patient=1612&config=25 (et probableemnt d'autres) le V souligné semble s'arrêter un nucléotide plus tôt que le N déclaré dans le nom de la séquence.
***
44b9fd0.
À regarder de nouveau...Sur ce patient : http://app.vidjil.org/beta/browser/?patient=1612&config=25 (et probableemnt d'autres) le V souligné semble s'arrêter un nucléotide plus tôt que le N déclaré dans le nom de la séquence.
***
44b9fd0.
À regarder de nouveau plus tard.
***
à vérifier avec les derniers changements, mais cela devrait être bon maintenant
***
Vérifier/corriger :
- tout ce qui est interne au C++ est 0-based (donc les AlignBox aussi)
- statut du "end" de AlignBox (inclut ou pas la position ?)
Par contre, en .json ou dans toute sortie du C++ (déjà défini dans format-analysis.org + retour IMGT) :
- être 1-based
- position "end" inclut la position
(et donc idem pour les opérateurs << de C++ ?)
Ou alors, on passe aussi tout le C++ en 1-based (hum).
Bloquant pour 2015.05.
***
6406526 (et, au passage, 3e340e1, "stop" et pas "end").
Tests dans stanford-json.should-get... qui au passage sont les *seuls tests* là-dessus.
Ces commits cassent le browser, mais sont logiques vu la spec.
Normalement pas de soucis pour fuse.py, qui prend tel quel le .seg du meilleur top.
***
@magiraud @mikael-shttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1881Sortie JSON : remplacer 5end / ... par 5->end / ...2016-11-29T14:41:45+01:00Vidjil TeamSortie JSON : remplacer 5end / ... par 5->end / ...Marc: "Cela va tout casser".
Oui, on laissera juste ce qu'il faut dans le browser pour lire les anciens fichiers.
***
fuse: on confirme que cela passe ?
***
#1882, #1883, #1884, #1885, #1886
***
@magiraud @RyanHerb @mikael-sMarc: "Cela va tout casser".
Oui, on laissera juste ce qu'il faut dans le browser pour lire les anciens fichiers.
***
fuse: on confirme que cela passe ?
***
#1882, #1883, #1884, #1885, #1886
***
@magiraud @RyanHerb @mikael-shttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1882C++2016-11-29T14:41:45+01:00Vidjil TeamC++
***
#1881
***
#1881https://gitlab.inria.fr/vidjil/vidjil/-/issues/1883Fuse2016-11-29T14:41:45+01:00Vidjil TeamFuse
***
#1881
***
#1881https://gitlab.inria.fr/vidjil/vidjil/-/issues/1884Browser2016-11-29T14:41:45+01:00Vidjil TeamBrowser
***
#1881
***
#1881https://gitlab.inria.fr/vidjil/vidjil/-/issues/1885doc/analysis-format.org2016-11-29T14:41:45+01:00Vidjil Teamdoc/analysis-format.org
***
#1881
***
#1881https://gitlab.inria.fr/vidjil/vidjil/-/issues/1886Browser: faire que cela marche avec .vidjil d'avant2016-11-29T14:41:45+01:00Vidjil TeamBrowser: faire que cela marche avec .vidjil d'avant
***
#1881
***
#1881https://gitlab.inria.fr/vidjil/vidjil/-/issues/1903Le log est celui d'analysis et pas celui du fuse2016-11-29T14:41:57+01:00Vidjil TeamLe log est celui d'analysis et pas celui du fuseJe ne suis pas sûr d'avoir tout compris : Sur Demo L3, le log donne une vieille version de vidjil. Il semblerait que ce soit la dernière fois qu'on a fait l'analysis, et non pas le lancement de Vidjil.
***
Reproduit : j'ai lancé, avec un...Je ne suis pas sûr d'avoir tout compris : Sur Demo L3, le log donne une vieille version de vidjil. Il semblerait que ce soit la dernière fois qu'on a fait l'analysis, et non pas le lancement de Vidjil.
***
Reproduit : j'ai lancé, avec une nouvelle config, mais le log affiché n'est pas celui du nouveau run mais d'un ancien. C'est très gênant (informations non pertinente affichées).
http://rbx.vidjil.org/browser/index.html?sample_set_id=3314&config=2
***
Ryan, pourrais-tu regarder cela s'il te plaît ? Merci.
***
bd90e00102bb7e4
***
@nobody @RyanHerbhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1947Le format du champs seg a évolué : comment doit-il être ?2016-11-29T14:42:27+01:00Vidjil TeamLe format du champs seg a évolué : comment doit-il être ?Le fichier format-analysis.org (https://github.com/vidjil/vidjil/blob/master/doc/format-analysis.org) donne des exemples de format pour seg mais ne définit pas formellement (sauf erreur de ma part) comment il doit être.
Par exemple la q...Le fichier format-analysis.org (https://github.com/vidjil/vidjil/blob/master/doc/format-analysis.org) donne des exemples de format pour seg mais ne définit pas formellement (sauf erreur de ma part) comment il doit être.
Par exemple la question se pose pour la e-value. Elle est pour l'instant stockée dans seg['_evalue'] mais cela semble ensuite supprimé par convertSeg dans model_loader.js. Heureusement la e-value est sauvegardée dans le champ eValue du clone avant la réécriture (par la fonction computeEValue). Mais un nouvel appel à computeEValue rendrait la e-value indéfinie : le champ seg ayant été réécrit, seg['_evalue'] n'existe plus (j'ai écrit un test pour ça, cf. 2edf5eb)
Donc comment la e-value doit-elle être stockée dans le champs seg ? Et la question se pose plus généralement pour le format attendu pour seg.
***
C'est une bonne question. Si on décide de spécifier, la référence doit être... format-analysis.org, et on part de cela, même si (temporairement) le browser ou le c++ ne le respecte pas. C'est d'autant plus important si on interagit avec d'autres logiciels : on doit avoir une référence claire (et changer la version, 2016a, si on fait des choses incompatibles), et non pas se référer à des détails/bugs du browser ou du c++. Le fait que le browser puisse faire des "bêtises" comme ici avec seg._evalue est un point indépendant qui ne concerne pas la définition du format.
Après, on peut avoir des choses non spécifiées (quelque part, chaque programme d'analyse peut rajouter des trucs dans le format).
Quelque chose d'intermédiaire serait de spécifier comment on encode des valeurs génériques (numériques, autres)... on le fait déjà pour les "features".
***
Même si des logiciels ajoutent des éléments qui leur sont propres dans le fichier, cela doit être spécifié. Quelle est la manière d'ajouter des données spécifiques à chaque logiciel ?
Concernant le browser, il ne fait pas spécialement de bêtises. Il suit la spéc stricte du format seg. Et comme un champ comme la e-valeur n'est pas prévu pour le seg (mais seulement des champs avec des start et des stop), ce champ-là passe à la trappe. Pour corriger le problème, il faut donc savoir comment doivent-être spécifiés ces champs.
***
b354da2, suite à audio du 7 juillet.
***
Pris en compte dans le browser : 987b107
***
@magiraud @RyanHerb @mikael-shttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1958Les valeurs seg.5/4/3 sont désormais basées sur 1 : mettre à jour le browser2020-06-10T13:23:13+02:00Vidjil TeamLes valeurs seg.5/4/3 sont désormais basées sur 1 : mettre à jour le browserVoir "Les valeurs 5end et 4end dans .vidjil devraient être basées sur 1 / 1-based", qui sort dans la release algo 2016.07.
seg.5/4/3 a changé, et, de plus, c'est "stop" pour être plus cohérent.
Mettre à jour le browser (et comment faire...Voir "Les valeurs 5end et 4end dans .vidjil devraient être basées sur 1 / 1-based", qui sort dans la release algo 2016.07.
seg.5/4/3 a changé, et, de plus, c'est "stop" pour être plus cohérent.
Mettre à jour le browser (et comment faire pour accepter les valeurs d'avant ?).
C'est un point bloquant pour le déploiement de 2016.07 sur rbx (mais pas pour la release).
***
Le mieux est probablement, dans le code js du browser, de conserver des positions commençant à 0 : les strings sont indexées à partir de 0 en JS. Dans ce cas à l'init, il faut réécrire toutes les positions pour leur retirer 1 pour les fichiers >= 2016b.
***
ok. Dans ce cas, à l'init, mais aussi dans .getHtmlInfo ou à l'export si besoin.
***
À faire avant de déployer 2016.07 sur rbx.
***
ae54031..15c4968. C'était plutôt pénible.
Testé sur anciens et nouveaux fichiers, sur Demo X5 + vérif sur CDR3, de nous + de IMGT.
***
@magiraud @RyanHerb @mikael-shttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1968Fichiers avec plus de 2G reads et int overflow2022-06-20T18:18:26+02:00Vidjil TeamFichiers avec plus de 2G reads et int overflowRayan a testé un jeu de 150M reads (fichier de ~40 GB), ce qui a mené à 37c5597e pour corriger un int overflow.
Le C++ actuel devrait pouvoir tenir jusqu'à 2^31 ~ 2G reads (quand "int" se compile comme "long"). Vu l'évolution des séquen...Rayan a testé un jeu de 150M reads (fichier de ~40 GB), ce qui a mené à 37c5597e pour corriger un int overflow.
Le C++ actuel devrait pouvoir tenir jusqu'à 2^31 ~ 2G reads (quand "int" se compile comme "long"). Vu l'évolution des séquenceurs, on devrait tenir quelques mois, mais pas plus :-) Après, il faudra mettre en `unsigned long long` un certain nombre de `int` dans `fasta.{h,c}`, `stats.{h,c}` et ailleurs...
Au passage, c'est désagréable à tester :-)
@magiraud @mikael-shttps://gitlab.inria.fr/vidjil/vidjil/-/issues/1987Ajouter l'organisme dans le fichier .vidjil2017-02-02T12:39:25+01:00Vidjil TeamAjouter l'organisme dans le fichier .vidjilUn fichier .vidjil donne le locus mais pas l'espèce. Impossible alors de savoir si un fichier avec un germline IGH provient d'un humain ou d'une souris.
***
@nobodyUn fichier .vidjil donne le locus mais pas l'espèce. Impossible alors de savoir si un fichier avec un germline IGH provient d'un humain ou d'une souris.
***
@nobodyAlgo 2017.03https://gitlab.inria.fr/vidjil/vidjil/-/issues/1992app/analyze: exposer/documenter une API2023-03-28T16:21:00+02:00Vidjil Teamapp/analyze: exposer/documenter une APIShugay et d'autres seraient contents de pouvoir utiliser cela.
(Mais attention, pour l'instant bloquant pour le reste du serveur ?)
***
@nobodyShugay et d'autres seraient contents de pouvoir utiliser cela.
(Mais attention, pour l'instant bloquant pour le reste du serveur ?)
***
@nobodyWeb 2022.12https://gitlab.inria.fr/vidjil/vidjil/-/issues/2034Format JSON pour réponse2022-07-01T11:49:44+02:00Mathieu GiraudFormat JSON pour réponseSuite à #2032, devrait-on avoir un standard lorsqu'on renvoie du JSON ? Un "status" ou un "data" quand tout est bon ?
http://stackoverflow.com/questions/12806386/standard-json-api-response-format
@mikael-s @RyanHerbSuite à #2032, devrait-on avoir un standard lorsqu'on renvoie du JSON ? Un "status" ou un "data" quand tout est bon ?
http://stackoverflow.com/questions/12806386/standard-json-api-response-format
@mikael-s @RyanHerbhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/2049Features à l'extérieur d'une séquence2020-10-14T11:29:53+02:00Mikaël SalsonFeatures à l'extérieur d'une séquenceSi une feature se trouve en dehors de notre séquence, on peut vouloir le préciser malgré tout. Cela signifie que les positions pourront être négatives ou supérieures à la longueur de la séquence. C'est une amélioration de ce qui sera réa...Si une feature se trouve en dehors de notre séquence, on peut vouloir le préciser malgré tout. Cela signifie que les positions pourront être négatives ou supérieures à la longueur de la séquence. C'est une amélioration de ce qui sera réalisé dans #2043.
Il ne faut pas non plus que ça fasse planter le segmenteur.
@flothoni @magiraudhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/2068Faire que la liste des clones et l'aligneur soient copiables en texte2021-04-01T18:56:52+02:00Mathieu GiraudFaire que la liste des clones et l'aligneur soient copiables en texteOn peut presque copier la liste des clones et faire un coller texte ailleurs, mais pour l'instant ce n'est pas très bien formaté.
On devrait pouvoir avoir des choses "compatible Fasta" du type :
`>IGHV3-7 1/7/10 D2-21 8//6 J4 [IGH] ...On peut presque copier la liste des clones et faire un coller texte ailleurs, mais pour l'instant ce n'est pas très bien formaté.
On devrait pouvoir avoir des choses "compatible Fasta" du type :
`>IGHV3-7 1/7/10 D2-21 8//6 J4 [IGH] 18.60%`
Ce serait particulièrement utile pour #2066, mais aussi en lien avec l'export.
Si on fait pareil dans le segmenteur, on pourrait avoir en plus la séquence (voire les annotations dans un certain format) ?
@tydax @mikael-s @RyanHerbmarc duezmarc duezhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/2078VDJML2023-06-29T11:09:37+02:00Mathieu GiraudVDJMLVDJML: a file format with tools for capturing the results of inferring immune receptor rearrangements
https://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-016-1214-3
En lien avec https://vdjserver.org/
Il faudra voir si c...VDJML: a file format with tools for capturing the results of inferring immune receptor rearrangements
https://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-016-1214-3
En lien avec https://vdjserver.org/
Il faudra voir si c'est pertinent pour nous ou pas.
@mikael-s @flothoni @RyanHerbThonier FlorianThonier Florianhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/2130Champ 'germlines' dans le .vidjil et germlines par défaut2017-04-25T17:24:01+02:00Mathieu GiraudChamp 'germlines' dans le .vidjil et germlines par défautEn faisant #1987, j'ai mis `species{,_taxon_id}` à la racine du `.vidjil`.
Il y a bien un champ `germlines` dans le `.vidjil`, mais il sert uniquement pour les 'custom', et est peu documenté dans `format-analysis.org`.
Que devrait-on fa...En faisant #1987, j'ai mis `species{,_taxon_id}` à la racine du `.vidjil`.
Il y a bien un champ `germlines` dans le `.vidjil`, mais il sert uniquement pour les 'custom', et est peu documenté dans `format-analysis.org`.
Que devrait-on faire de champ `germlines` ? Sert-il déjà au ~client ? Devrait-on toujours le peupler avec les infos venant de `homo-sapiens.germlines`/`germlines.data` ?
@mikael-shttps://gitlab.inria.fr/vidjil/vidjil/-/issues/2195Inclure le .g dans le .vidjil2017-04-25T17:24:01+02:00Mathieu GiraudInclure le .g dans le .vidjilSuite à #2155 et en particulier ff70521, on pourrait se dire que plusieurs informations venant des `.g` sont à récupérer dans le `.vidjil`,
en particulier pour la tracabilité (qui est tout de même bien améliorée par #2155).
Ne pourra...Suite à #2155 et en particulier ff70521, on pourrait se dire que plusieurs informations venant des `.g` sont à récupérer dans le `.vidjil`,
en particulier pour la tracabilité (qui est tout de même bien améliorée par #2155).
Ne pourrait-on pas être plus général et embarquer le `.g`dans le `.vidjil` (et générer ce qu’il faut quand on vient de la ligne de commande) ? Mais cela ajouterait 5 Ko à chaque fichier `.vidjil`… Ou bien tout sauf `systems` (ce qui est dommage quand même).
cc @mikael-s @flothoni https://gitlab.inria.fr/vidjil/vidjil/-/issues/2211Ajout de séquence externe : séquences non segmentables2017-03-07T09:48:19+01:00Mathieu GiraudAjout de séquence externe : séquences non segmentablesUn utilisateur peut rentrer une séquence qui ne se segmente pas : par exemple un Sanger avec un J court, un truc vraiment bizarre… Que fait ~segmenter-app dans ce cas ? Ajoute-t-on bien le clone en ?/? ?
@mikael-s : non, même le c...Un utilisateur peut rentrer une séquence qui ne se segmente pas : par exemple un Sanger avec un J court, un truc vraiment bizarre… Que fait ~segmenter-app dans ce cas ? Ajoute-t-on bien le clone en ?/? ?
@mikael-s : non, même le cpp ne renvoie pas dans le json ce qu'il faut
cc @RyanHerbMathieu GiraudMathieu Giraudhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/2247Inventaire des warnings dans le fichier .vidjil et ailleurs2021-02-03T09:08:25+01:00Mathieu GiraudInventaire des warnings dans le fichier .vidjil et ailleursPour l'instant, on a quelques warnings par clone qui sont affichés, côté ~client, dans `builder.js`. On pourrait avoir un mécanisme plus général, pour afficher dans le ~client des warnings. Nous avons ajouté un champ `warn`) dans le `.v...Pour l'instant, on a quelques warnings par clone qui sont affichés, côté ~client, dans `builder.js`. On pourrait avoir un mécanisme plus général, pour afficher dans le ~client des warnings. Nous avons ajouté un champ `warn`) dans le `.vidjil, que ce soit par clone ou en global #2916. Mais cela ne suffit pas pour les ~"server-pre-process"...
Inventaire des warnings possibles, à compléter / discuter / implémenter -> https://gitlab.inria.fr/vidjil/vidjil/blob/dev/doc/warnings.md
cc @mikael-s @RyanHerb @flothoniThonier FlorianThonier Florianhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/2288Segmenter et MiXCR: on ne voit pas les CDR3, ni les bords V/J précis2023-03-01T16:22:07+01:00Mathieu GiraudSegmenter et MiXCR: on ne voit pas les CDR3, ni les bords V/J précisVoir par exemple http://app.vidjil.org?sample_set_id=23112&config=39&plot=lengthCDR3,Size,bar
cc @mikael-s @RyanHerbVoir par exemple http://app.vidjil.org?sample_set_id=23112&config=39&plot=lengthCDR3,Size,bar
cc @mikael-s @RyanHerbRyan HerbertRyan Herberthttps://gitlab.inria.fr/vidjil/vidjil/-/issues/2313Affichage de la qualité dans l'aligneur : bikeshedding2021-10-01T11:59:42+02:00Mathieu GiraudAffichage de la qualité dans l'aligneur : bikesheddingMarc avait préparé quelque chose, accessible en dev.
Devrait déjà dépendre de #1982.
(Et pour le cpp, c'est pas exporté en ce moment ?)Marc avait préparé quelque chose, accessible en dev.
Devrait déjà dépendre de #1982.
(Et pour le cpp, c'est pas exporté en ce moment ?)Web 2021.11Mathieu GiraudMathieu Giraudhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/2329app/analyze : conserver lien entre séquence et dénomination2018-10-18T14:36:34+02:00Thonier Florianapp/analyze : conserver lien entre séquence et dénominationRemarque de Véronique :
> peux-t-on retrouver à partir d'une séquence retournée par l'app analysis la séquence d'origine ?
L'idée est de savoir si l'on met trois séquences sen même temps laquelle est laquelle dans le segmenteur.Remarque de Véronique :
> peux-t-on retrouver à partir d'une séquence retournée par l'app analysis la séquence d'origine ?
L'idée est de savoir si l'on met trois séquences sen même temps laquelle est laquelle dans le segmenteur.https://gitlab.inria.fr/vidjil/vidjil/-/issues/2344Stocker les informations de pairage des chaînes / de single cell2019-12-13T12:23:51+01:00Mikaël SalsonStocker les informations de pairage des chaînes / de single cell#2318 parle de données avec des chaînes pairées mais nous n'avons pas de moyen de conserver le pairage dans le fichier (et ensuite dans l'affichage).
Il faut donc réfléchir à la manière d'adapter le format dans ce but.
cc @magiraud#2318 parle de données avec des chaînes pairées mais nous n'avons pas de moyen de conserver le pairage dans le fichier (et ensuite dans l'affichage).
Il faut donc réfléchir à la manière d'adapter le format dans ce but.
cc @magiraudhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/4570Documenter comment travailler sur un format .vidjil2021-02-03T18:52:47+01:00Mathieu GiraudDocumenter comment travailler sur un format .vidjilIl serait intéressant d'encourager les bioinformaticiens à utiliser le format vidjil, plus riche que des exports comme l'export CSV du ~client.
Dans `doc/vidjil-format`, rajouter un script python simple d'exemple pour itérer sur des cl...Il serait intéressant d'encourager les bioinformaticiens à utiliser le format vidjil, plus riche que des exports comme l'export CSV du ~client.
Dans `doc/vidjil-format`, rajouter un script python simple d'exemple pour itérer sur des clones d'un .vijdil multi-sample.
Voir également, côté API, #4207 et #1589.Mathieu GiraudMathieu Giraudhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/4676vidjil-format.md : mieux tester / linter / verrouiller2021-02-03T19:43:49+01:00Mathieu Giraudvidjil-format.md : mieux tester / linter / verrouiller`vidjil-format.md` est déjà partiellement testé, via `org-babel-tangle`
Au passage, le format s'appelle `2016b`... mais qu'est-ce que cela signifie ? On a rajouté des champs au fur et à mesure, et je ne suis pas sûr qu'un truc de 2016 pa...`vidjil-format.md` est déjà partiellement testé, via `org-babel-tangle`
Au passage, le format s'appelle `2016b`... mais qu'est-ce que cela signifie ? On a rajouté des champs au fur et à mesure, et je ne suis pas sûr qu'un truc de 2016 passe encore.
Quelques réflexions en vrac:
- rajouter un tangle+test sur le gros bloc `clones` list
- faire un "linter" de fichier `.vidjil` ? Qui lève des warnings si un champ est inconnu ?
- quand cela est fait, ce sera plus simple de donner un nouveau "nom de format" ?
(voir aussi #4570)https://gitlab.inria.fr/vidjil/vidjil/-/issues/4719Récupérer un clone ou quelques clones en .json2021-03-31T14:52:45+02:00Mathieu GiraudRécupérer un clone ou quelques clones en .jsonSuggestion de @flothoni
En filtrant le `save` (mais on n'a pas de `save` sur tout le .vidjil ?) ?Suggestion de @flothoni
En filtrant le `save` (mais on n'a pas de `save` sur tout le .vidjil ?) ?https://gitlab.inria.fr/vidjil/vidjil/-/issues/4724Se souvenir du nombre de reads initial avant filtrage2021-03-17T15:46:46+01:00Mathieu GiraudSe souvenir du nombre de reads initial avant filtrageSuite à !906/!915, pourrait-on avoir un moyen de se souvenir combien il y avait de reads avant l'application d'un `--filter-reads`.
En fait on a ces infos dans le .vidjil du filtrage, mais bon, on ne l'a pas quand le résultat du filtre ...Suite à !906/!915, pourrait-on avoir un moyen de se souvenir combien il y avait de reads avant l'application d'un `--filter-reads`.
En fait on a ces infos dans le .vidjil du filtrage, mais bon, on ne l'a pas quand le résultat du filtre est juste le fasta... mettre un commentaire type `# Filtered: XXXX` au début du fasta ? (Voire d'autres choses). (Hum, ne serait plus compatible avec autre chose que vidjil...).
Me fait penser aussi à !691 (mais là ce n'est pas le cas).https://gitlab.inria.fr/vidjil/vidjil/-/issues/4846"not analyzed" depuis le cpp2021-09-17T10:19:56+02:00Mathieu Giraud"not analyzed" depuis le cppDans `germline.h`:
```
#define PSEUDO_NOT_ANALYZED "not analyzed"
```
J'ai été tenté de mettre `not designated`, mais rien fait pour l'instant, vérifier dans quels cas c'est utilisé dans l'algo et ensuite les implications sur le ...Dans `germline.h`:
```
#define PSEUDO_NOT_ANALYZED "not analyzed"
```
J'ai été tenté de mettre `not designated`, mais rien fait pour l'instant, vérifier dans quels cas c'est utilisé dans l'algo et ensuite les implications sur le ~client.