Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Version worfkflow #16

Open
lecorguille opened this issue Jun 1, 2021 · 12 comments
Open

Version worfkflow #16

lecorguille opened this issue Jun 1, 2021 · 12 comments

Comments

@lecorguille
Copy link
Member

@drosofff, est-ce que les workflows sont en quelque versionné ?
Comment savoir si nous ne les avons déjà pas https://usegalaxy.fr/workflows/list_published ?

@drosofff
Copy link
Member

drosofff commented Jun 1, 2021

Alors, oui, les workflows sont maintenant versionnés.
Mais malheureusement cela ne te garantie pas que deux workflows assemblés par deux personnes différentes ne sont pas finalement identiques. Cela dit, cela ouvre un question intéressante et une opportunité de script dans ephemeris. par exemple tu peux extraire la séquence des outils d'un workflow et comparer les deux séquences d'outils. après, ma foi, c'est presque de la biologie c'est comme si tu comparais deux séquences peptidiques ;-)

Plus pragmatique, je pense qu'il faut visualiser les workflows dans l'éditeur. On en a pas 4000 à examiner et comme les workflows ont des noms, je suis assez tranquille. By the way, j'ai extrait les outils des workflows de https://github.com/IFB-ElixirFr/EMERGEN-workflows/tree/main/Galaxy-workflows/galaxyproject/SARS-CoV-2. ça fait une nouvelle liste yaml à incorporer potentiellement dans usegalaxy.fr (aka ugfr ? c'est une proposition)

@lecorguille
Copy link
Member Author

Versionné sous git mais je pensais plus à des numéros dans leurs noms ou une date.
Comparer 2 versions d'un workflow signifie comparer chaque version d'outil et chaque paramètre

@lecorguille
Copy link
Member Author

Ici, ils ont des numéros de version : https://workflowhub.eu/search?utf8=%E2%9C%93&q=covid#workflows

@lecorguille
Copy link
Member Author

A priori, des exports automatique de https://github.com/galaxyproject/iwc/tree/main/workflows/sars-cov-2-variant-calling vers workflowhub.eu

@drosofff
Copy link
Member

drosofff commented Jun 3, 2021

Oui c'est le projet iwc de Marius and Co, il a fait une présentation il y a quelques semaines. Je ne savais pas qu'ils le connectaient à workflowhub, mais c'est logique

Je pensais que ton soucis était autre, et le mien en réalité: si tu te limites au workflows de w meier, pas de soucis, son versioning assure que tu sais de quel workflow de w meier (ou de l'iwc) tu parles.

mais il y a pas mal de workflows "concurrents" qui circulent dans la communauté Galaxy. Certains ont l'air de faire la même chose, avec des variations. et the question c'est d'évaluer rapidement ces workflows.

2 workflows peuvent faire exactement la même chose et avoir des noms et auteurs différents, ou faire presque la même chose mais l'un en mieux... Et là tu n'a pas vraiment de solution simples type checksum ou mulled-env etc...

Finalement, c'est un peu le même problème avec les outils galaxy, (ou avec les mottes de beurre): pour comparer le produit, on peut juste se fier à la marque, mais c'est plus satisfaisant de gouter ou au moins d'avoir la composition détaillée...

Encore une fois, il faut être pragmatique: le système de w meier et d'anton and co fonctionne on peut faire tout comme eux (comme dirait Bjorn, sauf si on a trop de temps ;-). Je n'avais pas catché le coup du dépot dans le workflowhub, merci, j'achète !

Mais, j'ai au moins un cas ou il faut développer la réponse nous même: les séquençage IonTorrent PGM (https://gitter.im/usegalaxy-eu/covid19?at=60b7af3a45c2185a5e040131), et je serais surpris qu'il ne faille pas adapter un peu les workflows qu'on "empreinte" à notre environnement de production

@jvanheld
Copy link

jvanheld commented Jun 3, 2021

Mais malheureusement cela ne te garantie pas que deux workflows assemblés par deux personnes différentes ne sont pas finalement identiques. Cela dit, cela ouvre un question intéressante et une opportunité de script dans ephemeris. par exemple tu peux extraire la séquence des outils d'un workflow et comparer les deux séquences d'outils. après, ma foi, c'est presque de la biologie c'est comme si tu comparais deux séquences peptidiques ;-)

Plus formellement, il s'agirait de comparaison de graphes, puisqu'un workflow peut être branché. Sans blague, il serait sans doute assez facile de convertir les workflows en graphes avec un noeud pour chaque outil, puis de faire une comparaison. Si on s'y prend bien, on pourrait même faire du clustering de workflows pour identifier non seulement ceux qui sont identiques mais aussi identifier des groupes de workflows fortement similaires .Est-ce que cela présenterait un intérêt pragmatique, par exemple pour identifier des redondances ?

@yvanlebras
Copy link

Assez d'accord avec Jacques, c'est quelque-chose qui avait été initié par mouamadou Ba quand il était irisa Rennes..

@drosofff
Copy link
Member

drosofff commented Jun 3, 2021

Oui d'accord aussi avec @jvanheld je trouve ça intéressant comme question. C'est vrai que ma métaphore de la sequence peptidique ne fonctionne pas (encore qu'on peut avoir une séquence secondaire, tertiaire et même quaternaire pour des complexes multiprotéiques) et que les graphs paraissent plus proches de la question. Mais si j'y réfléchis avec mon problème en tête je me dis qu'on se fait peut être des noeuds dans la tête pour rien:

en réalité ce que je cherche c'est les workflows qui prennent en entrée un type de données (genre au hasard des bam générés par un IonTorrent GPM) et qui crachent un autre type de donnée en sortie, genre toujours au hasard des variants covid19 ;-). Je te dirais que si je trouve ce schéma, je me fous un peu de ce qui s'est passé entre les deux - dans un premier temps. J'imagine aisément que le graph pour parcourir ce changement d'état de la donnée peut varier du tout au tout, l'important c'est d'abord le résultat. On peut voir un workflow comme une fonction d'état. Ensuite, pour la mise en production, c'est autre chose et oui la forme du workflow va compter. d'ailleurs le travail W n'est pas une fonction d'état !!

J'aurais donc tendance à proposer une approche basée sur "la variation d'entropie" associée à un workflow. Pour le moment c'est purement métaphorique.... d'ailleurs il faut que je lint des codes R et j'y retourne :-(

@jvanheld
Copy link

jvanheld commented Jun 3, 2021

Salut @drosofff

En suivant ta suggestion, en première approche on pourrait simplifier le problème en considérant chaque workflow comme un ensemble d'outils, sans se préoccuper de leurs interconnexions. Sur cette base, on pourrait également identifier des identités et similarités entre ensembles, et faire du clustering (voire des arbres phylogénétiques de workflows).

Bonne nuit

@yvanlebras
Copy link

Bonjour à tous,
Oui, le travail que j'ai en tête avait pour but de faire des arbres de décision (si pertinent car je ne sais pas si dans le cas présent, guider les gens/automates étapes après étape est interessant) à partir de clustering de workflows... On a jamais pu aller jusqu'au bout d'un poc sur le sujet mais je serais intéressé le cas échéant de pouvoir participer.
Bonne fin de semaine à tous, ce matin première formation Galaxy-E de l'année, il était temps ;)

@d-salgado
Copy link

d-salgado commented Jun 4, 2021 via email

@drosofff
Copy link
Member

drosofff commented Jun 4, 2021 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants