Logiciel Chemflow





Les points à réaliser


Optimisation des temps d'exécution de Galaxy

JCB : Une expérience récente qui fait écho à nos discussions d'hier sur l'optimisation.

Séverine Dupin (JMR connait) m'a envoyé un gros jeu de données avec lequel elle avait un problème de chargement dans Fact.

Ce fichier est au format CSV, il contient une matrice de données 6682 x 1334.
Après chargement, il a été sauvé aux format DAT de Scilab et MAT de Matlab. Puis rechargé.

Dans Scilab:
Le chargement du CSV dans Scilab avec la fonction "csv2div" prend 998 secondes. Pitoyable!
Le chargement du DAT (ou du MAT) dans Scilab avec la fonction "load" (ou "loadmatfile") prend entre 0,4 et 0,6 secondes.
soit un rapport supérieur à 1000!

Dans Galaxy:
Le chargement du CSV dans Galaxy prend environ 12 secondes (4 + 8).
Pour d'autres données, beaucoup plus petites en taille: 4 + 4 secondes.

JMR : Ça ne m'étonne pas... Peut être faudrait il gérer la lecture des données en Python ?

EL : Du coup, l'interprétation que j'en ai est que Galaxy est vraiment efficace pour les gros fichiers ... ce qui n'est pas très étonnant mais par contre pas du tout optimal pour les petits fichiers.
Ainsi, s'il y a des choses à améliorer c'est du côté des petits fichiers. Python peut-il nous y aider ?

Les points en vrac


point à voir avec Fabien (à partir du 1er novembre) :
  • trouver un nom au logiciel
  • continuité pour utilisation pendant le mooc et après ... hébergement des données / place prise par les traitements ...
  • possibilité de sauvegarder ses workflow en fonction de sa session
  • aide / tuto notamment pour apprenant via mooc
  • une des priorités = travailler sur les sorties graphiques pour pouvoir les intégrer aux vidéos et au doc pdf pour le mooc
  • voir pour intégration d'une aide (menu lors du survol et/ou compléter aide en ligne ...) ex : sur le nom des fonctions
  • où et comment se fait l'enregistrement des données créées :
    • sur le serveur ? question de place
    • chacun télécharge ses données à la fin du traitement ?
  • fichier input en txt, il faut pouvoir choisir le mode de décimale (. ou , ...) et le délimiteur (tab ou ; ...)
  • prévoir un message d'erreur plus simple
  • vérifier les données avant de lancer le traitement (oublie de donner une variable avant de lancer le calcul ...)
--> chacun doit donner les erreurs possible lié à sa fonction / grain
  • penser à la faisabilité technique : ex demandé sur utilisation du logiciel --> jusqu'à combien peut on se connecter en même temps