Skip to content
David Lauzon edited this page May 5, 2015 · 6 revisions

MGL804 - Été 2015

Mise en situation

Votre cliente, Béatriz, est une bioinformaticienne spécialisée dans l'exécution de logiciels spécialisés en génomique pour étudier les liens de parenté dans des groupes d'individus. Dernièrement elle éprouve des problèmes de performance et de maintenabilité quand elle exécute les fonctions IBS et MDS du logiciel libre Plink, créé par l'Université Harvard, sur de grandes cohortes de patients.

Pour ce TP vous devez comprendre le code source des fonctions IBS (qui sert à trouver le lien de parenté dans un groupe de personnes) et MDS (qui sert à visualiser ces données) avec l'objectif de le migrer sur une plateforme qui permet l'exécution distribué sur plus d'une machine avec la plateforme Spark. Pour ce faire, un dépôt GitHub qui contient tous les composants nécessaires vous a été préparé. Voir également le tutoriel détaillé sur plink que vous a été préparé.

Travail à faire

Béatriz s'attend que vous fassiez le travaux de maintenance suivants:

  1. Semaines 3-4: Livrables du jalon v0.1: IBS pairwise matrix (Partie I)
  2. Semaines 5-6: Livrables du jalon v0.2: IBS clustering et intégration avec ADAM
  3. Semaines 7-8: Livrables du jalon v0.3: IBS pairwise matrix (Partie II)
  4. Semaines 9-10: Livrables du jalon v0.4: MDS
  5. Semaines 11-12: Livrables du jalon v0.5: Stability

Les détails des tâches à faire sont décrites dans des billets de développement disponibles dans la section Issues du dépôt GitHub.

Calendrier

Chaque billet de développement est associé à un jalon de remise. La date de remise de chaque jalon est définie sur la section Milestones du dépôt GitHub.

Waffle qui s'intègre au dépôt GitHub offre également une bonne vue d'ensemble sur les billets de développement: https://waffle.io/GELOG/adam-ibs

Outils utilisés

Programmation

Support

  • IDE: IntelliJ IDEA (suggéré)
  • Système d'exploitation: Linux ou OSX fortement recommandé
  • Système de gestion des sources: Git
  • Rapports / Notes: GitHub Wiki.
    • On peut éditer le wiki directement sur le site de GitHub.
    • Mais HarooPad est un éditeur bien plus puissant qui permet une prévisualisation live et synchronisation du défilement. Natif pour Win/Linux/OSX. Avec cette méthode, il faut cloner le wiki hors-ligne: git clone [email protected]:GELOG/adam-ibs.wiki.git

Communications et gestion de projet

  • Communication instantannée: Gitter.im sur le canal GELOG/adam-ibs.
    • On peut étiquetter une personne dans un message et on reçoit un courriel lorsqu'on a manqué un message. Supporte le markdown. Natif pour Win/Linux/OSX/iPhone/Android.
  • Rapport de bogues: GitHub Issues. Supporte le Markdown.
  • Billets de maintenance: GitHub Issues
  • Gestion de maintenance: Waffle.io sur le projet GELOG/adam-ibs
    • Waffle offre une meilleure vue d'ensemble sur les GitHub Issues.
    • On peut se loguer avec son compte GitHub.

Suivi du progrès

Désigner 1 personne dans l'équipe pour m'envoyer sur Gitter, avant 8:30am chaque lundi matin, un bref compte-rendu des progrès de l'équipe. Répondre aux questions suivantes:

  • Ce qui a été fait durant la dernière semaine?
  • Ce qui ralenti ou bloque l'équipe?
  • Ce qu'on prévoi faire au cours de la prochaine semaine?