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

Réunions #40

Open
iki-v opened this issue Jun 10, 2015 · 19 comments
Open

Réunions #40

iki-v opened this issue Jun 10, 2015 · 19 comments

Comments

@iki-v
Copy link
Contributor

iki-v commented Jun 10, 2015

La tache pour tracer nos réunions. Ordres de jour, compte rendus.

@iki-v
Copy link
Contributor Author

iki-v commented Jun 10, 2015

Proposition ordre du jour pour la réunion de 10/06/2015 :

N’hésitez pas à ajouter des points sur l'ordre du jour.

@iki-v
Copy link
Contributor Author

iki-v commented Jun 11, 2015

Bonjour,
Un petit CR de la réunion du 10/06/2015 en présence de @davidonlaptop, n'hésitez pas à corriger et/ou apporter des précisions.

Absents : @rbahassi

Orientation du projet :
Un léger changement de position. L'objectif n'est pas de rendre plink scalable en implémentant les mêmes fonctionnalités qui génèrent les mêmes formats de fichiers. L'objectif est de partir du model des donnés bdg-formats pour introduire certaines opérations et données inspirés de plink.

L'organisation des nouvelles taches dans l'immédiat :

  1. Inclure bdg-formats dans le projet sous forme des dépendances. Gestion de la persistance. → @francois-boyer et @karim73.
  2. Mapping des données .ped, .map, .bin, .fam, .bed dans le format de données ADAM → @ikizema et @naceurMh
  3. Mapping des données .genome dans le format de données ADAM@sfcwallace, @singemanator , @Aboubakary

Le livrable des taches 2 et 3 est une proposition du model des données. La proposition du model devra être validé par @davidonlaptop avant de commencer l’implémentation.

@francois-boyer
Copy link

Bonjour @rbahassi, @karim73, @ikizema, @naceurMh, @sfcwallace, @singemanator, @Aboubakary,

N'oubliez pas de bien noter ce sur quoi vous avez travaillé car durant la présentation à la fin du cours, chaque membre devra expliquer ce qu'il a fait et devra présenter le fruit de ses travaux.

Je réitère qu'il est important de logger à même les tâches le résultats de vos travaux pour que les autres puisse les consulter et en tirer profits pour les tâches subséquentes.

merci,
@francois-boyer

@francois-boyer
Copy link

Bonjour @rbahassi, @karim73, @ikizema, @naceurMh, @sfcwallace, @singemanator, @Aboubakary,

J'ai vraiment bien avancé ma tâche #5 (persistance) et j'ai donc par conséquent suggéré à @karim73 de travailler sur la tâche #29.

Je consultais la colonne "In progress" et je ne suis pas certain qu'elle reflète bien ce sur quoi on devrait travailler présentement; basé sur le dernier post de @ikizema. Svp, assurez-vous que seul les tâches in-progress sont dans cette colonne.



Ah oui, j'oubliais de dire que malgré qu'il n'y a pas de cous la semaine prochaine, que j'aimerais que tous les membres de l'équipe se présente en classe pour que chacun puisse présenter aux autres ses travaux de la semaine en cours. On sera donc en mesure de mieux comprend où chacun en est au aussi de mieux aiguiller ce qui devra être fait au courant de la semaine prochaine. Merci de me confirmer votre présence par courriel: [email protected]

@karim73
Copy link

karim73 commented Jun 16, 2015

J'aimerais bien qu'on se reserve un peu de temps pour expliquer l'architecture globale (spark, scala, avro, ect. ..) .. personnellement, c encore flou pour moi

@francois-boyer
Copy link

Bonjour @rbahassi, @karim73, @ikizema, @naceurMh, @sfcwallace, @singemanator, @Aboubakary,

Proposition ordre du jour pour la réunion de 10/06/2015 :

Ordre du jour - Rencontre d'équipe

Date: 2015-06-17
Heure: 18h00 à 20h30
Lieu: Au local du cours (il y a un projecteur dans le cours)

• Lecture, modifications et adoption de l'ordre du jour (10 min)

• Révision de l'architecture globale (15-20 min)
    ◦ Scala, Avro, Parquet, Spark

• Task #43 - Mapping du model (20-30 min)
    ◦ Présenter le modèle des donnés
    ◦ Recevoir feedback
    ◦ Synchronisation ToDo avec Task #5
    ◦ Reste à faire la suite du modèle

• Task #5 - Persistance (15-20 minutes)
    ◦ Présenter le fruit de mes recherches
    ◦ Présenter le code
    ◦ Recevoir feedback à savoir si je suis sur la bonne voie

• Task #38 - CLI options (15-20 minutes)
    ◦ Présentation le code
    ◦ Valider que la tâche est complète

• Task #39 - Logging processing (15-20)

• Préparation de la semaine prochaine en vue d'une présentation au client (10-20 min)

• Questions/Suggestions/Commentaires (10 min)

• Fin de la réunion

Si vous souhaitez apportez des modifications, veuillez me les communiquer par courriel.
Merci,

@ghost
Copy link

ghost commented Jun 18, 2015

Bonjour,

Voici le CR de la réunion du 17/06/2015:

Présents: Karim, Ivan, Boubakar, François et Karen

Absents: Reza, Khaled

Début de la réunion: 18h15

Révision de l’architecture globale:

  • Scala: langage de programmation.
  • Avro: Formatage de données typées (comparaison avec les objets javascript ou encore du JSON). Ressemble à des classes Java. Façon de partager une structure de données.
    Créer toutes les classes Java automatiquement.
    Problème: On ne peut pas réécrire dans les fichiers.
    Possible de passer de Avro à Java et de Java à Avro.

Exemple du fichier Avro: présenté.

  • Parquet: Comme MySQL ou SQLServer. Autre procédé de fonctionnement. On sauvegarde un objet dans un fichier ainsi que l'ensemble de ses enfants. Intérargir entre les BD de façon efficace (c’est des colonnes). Récupère seulement les colonnes utiles.
  • Spark: Outil qui permet d’intérargir avec la BD Parquet. On peut le distribuer sur plusieurs noeuds. Spark peut segmenter le processus sur plusieurs ordinateurs.

Task #5 - Persistance (François)

Avro: les classes sont finies
Un record = une instance.
Spark SQL pas assez performant.
Lorsqu’on sauvegarde un objet, on sauvegarde l’objet et ses variants (exemple: de Genotype).
Démonstration du code
Créer un fichier pour chaque étape de Plink (make bed, genome, cluster)
==> Recommandation: règle de codage.

Semaine prochaine:

  • Tester de faire un join entre deux fichiers parquet.

Task #43 - Mapping du model (Ivan)

Allèle majeur: c’est l’allèle à la position donnée qui apparaît le plus de fois parmi l’ensemble des individus testés.
Allèle mineur: tous les autres allèles différents à l’allèle majeur.

Il y a autant de variants que de nucléotide.

Présentation du mapping entre le format de donnée d'ADAM et de Plink.

Task #38 - CLI options (Karen)

Présentation du code et de l'interaction des différentes classes.

Semaine prochaine:

  • Faire rouler le projet sur IntelliJ.
  • Rajouter la dépendance CLI parser

Task #3 - Calculate the pairwise IBD/IBS metrics (Karen)

Modifier le fichier LucidChart du modèle proposé par Ivan pour rajouter le genome.

Envoyer le mail de l’ÉTS à Ivan pour obtenir les droits sur LucidChart.

Semaine prochaine:

  • Mettre à jour le mapping avec les classes du genome.

Task #39 - Logging processing (Karim)

  • Le faire fonctionner.

Planification de la rencontre la semaine prochaine

  • Ivan et Karen: Schéma final du mappage avec le format ADAM.
  • François: Mise au propre du code de persistance, étudier les DATA FRAME et update, faire les tests pour les join et proposer une solution pour créer les fichiers parquets.
  • Karen: Faire rouler le projet sur MAC et rajouter le CLI parser, documenter les fonctions du génome.
  • Karim: Faire fonctionner le login processing et tester de faire rouler le projet sur MAC aussi.

Fin de la réunion: 20h06

@davidonlaptop
Copy link
Member

Super pour les comptes-rendus!

*Avro: Formatage de données typées (comparaison avec les objets javascript
ou encore du JSON). Ressemble à des classes Java. Façon de partager une
structure de données. *
*Créer toutes les classes Java automatiquement. *
*Problème: On ne peut pas réécrire dans les fichiers. *

Pour l'instant, est-ce que vous pouvez copier le fichier Avro de ADAM dans
le projet, et faire les modifications directement dans celui-ci?

Dsl j'ai été occupé par le voyage et les courriels. Est-ce qu'il y'a une
question précise pour moi?

Continuez le bon travail,

-David

2015-06-18 10:05 GMT-04:00 singemanator [email protected]:

Bonjour,

Voici le CR de la réunion du 17/06/2015:

Présents: Karim, Ivan, Boubakar, François et Karen

Absents: Reza, Khaled

Début de la réunion: 18h15

Révision de l’architecture globale:

Scala: langage de programmation.

Avro: Formatage de données typées (comparaison avec les objets
javascript ou encore du JSON). Ressemble à des classes Java. Façon de
partager une structure de données.
Créer toutes les classes Java automatiquement.
Problème: On ne peut pas réécrire dans les fichiers.
Possible de passer de Avro à Java et de Java à Avro.

Exemple du fichier Avro: présenté.

Parquet: Comme MySQL ou SQLServer. Autre procédé de fonctionnement. On
sauvegarde un objet dans un fichier ainsi que l'ensemble de ses enfants.
Intérargir entre les BD de façon efficace (c’est des colonnes). Récupère
seulement les colonnes utiles.

Spark: Outil qui permet d’intérargir avec la BD Parquet. On peut le
distribuer sur plusieurs noeuds. Spark peut segmenter le processus sur
plusieurs ordinateurs.

Task #5 #5 - Persistance
(François)

Avro: les classes sont finies
Un record = une instance.
Spark SQL pas assez performant.
Lorsqu’on sauvegarde un objet, on sauvegarde l’objet et ses variants
(exemple: de Genotype).
Démonstration du code
Créer un fichier pour chaque étape de Plink (make bed, genome, cluster)
==> Recommandation: règle de codage.

Semaine prochaine:

Allèle majeur: c’est l’allèle à la position donnée qui apparaît le plus de
fois parmi l’ensemble des individus testés.
Allèle mineur: tous les autres allèles différents à l’allèle majeur.

Il y a autant de variants que de nucléotide.

Présentation du mapping entre le format de donnée d'ADAM et de Plink.

Task #38 #38 - CLI options
(Karen)

Présentation du code et de l'interaction des différentes classes.

Semaine prochaine:

Modifier le fichier LucidChart du modèle proposé par Ivan pour rajouter le
genome.

Envoyer le mail de l’ÉTS à Ivan pour obtenir les droits sur LucidChart.

Semaine prochaine:

  • Mettre à jour le mapping avec les classes du genome.

    Task Logging processing #39 Logging processing #39 - Logging
    processing (Karim)

  • Le faire fonctionner.

    Planification de la rencontre la semaine prochaine

    • Ivan et Karen: Schéma final du mappage avec le format ADAM.
  • François: Mise au propre du code de persistance, étudier les DATA
    FRAME et update, faire les tests pour les join et proposer une solution
    pour créer les fichiers parquets.

  • Karen: Faire rouler le projet sur MAC et rajouter le CLI parser,
    documenter les fonctions du génome.

  • Karim: Faire fonctionner le login processing et tester de faire
    rouler le projet sur MAC aussi.

Fin de la réunion: 20h06


Reply to this email directly or view it on GitHub
#40 (comment).

@francois-boyer
Copy link

Bonjour à tous,

N'oubliez pas que le cours est ce soir en remplacement à celui de demain!!

L'ordre du jour sera assez simple pour ce soir:

  1. Lecture, modifications et adoption de l'ordre du jour (10min)
  2. Présenter la nouvelle version du format ADAM (Ivan et Karen - 20min)
  3. Revoir la proposition sur la persistance (15min)
  4. Revoir le processus de journalisation (15min)
  5. Déterminer quelles seront nos prochaines tâches pour la semaine suivante (15min)
  6. Fin de la réunion.

Si vous souhaitez effectuer des modifications à cet ordre du jour, veuillez m'en faire part par courriel.

Merci,

@ghost
Copy link

ghost commented Jun 23, 2015

Bonjour à tous,

Est-ce que se serait possible de faire la réunion à 17h? (1h avant le cours).
De plus, on sera plus efficace pour la réunion car on est seulement limité à une heure.

Merci

@karim73
Copy link

karim73 commented Jun 23, 2015

dsl, je peux pas

@ghost
Copy link

ghost commented Jun 24, 2015

Réunion du 23/06/2015

Ordre du jour:

  1. Présenter la nouvelle version du format ADAM (Ivan et Karen)
  2. Revoir la proposition sur la persistance (François)
  3. Revoir le processus de journalisation (Karim)
  4. Genome
  5. Autres questions/commentaires/problèmes
  6. Déterminer quelles seront nos prochaines tâches pour la semaine suivante
  1. Présenter la nouvelle version du format ADAM
  • Description du format du génome.

==> Karen s’occupe de revoir le schéma de donnée pour le 24/06.

  1. Revoir la proposition sur la persistance

Choix sur la façon de persisté les données:

Choix 1: Tout réécrire à chaque fois.
Choix 2: Écrire un nouveau fichier à chaque fois qu’on veut écrire (bonifier la BD).

Discussion avec April:

  • Dû à l’outil utilisé (Spark), on n’a pas le choix de créer un nouveau fichier à chaque fois qu’on veut écrire de nouveau.
  • On n’aura pas une BD normalisée.
  • Ivan: a réussi à exécuter le projet de persistance. Mais, il ne l’a pas encore intégré au projet Scala.
  • Mettre l’ensemble des classes ADAM, plus les fichiers qu’on a ajouté dans la BD.

==> Semaine prochaine:

  • François va implémenter le schéma de donné crée.
  • Il va écrire au client cette semaine pour que Béatrice vienne nous rencontrer la semaine prochaine.
  • Il a besoin d’avoir les trois étapes (lecture des fichiers, make-bed et genome) et les interactions entre eux (voir le schéma des données)
  1. Revoir le processus de journalisation
  • Scala logging prend la version 1.11. Les dépendances n’ont pas fonctionnées. Finalement, le Scala Logging à fonctionner, mais Spark a brisé.
  • Problème: L’outil utilisé.
  • Solution: Trouver un nouvel outil, qui soit simple à utiliser et à implémenter.
  1. Genome

Choix de la version de Plink: Utiliser la version 1.07.

Selon les échanges avec Chang (la personne qui a fait la version 1.9), il nous a conseillé de prendre la version 1.07 qui est:

  • Mieux structuré
  • Plus compréhensible que la version 1.9
  • Moins performant mais avec les mêmes algorithmes pour le calcul des champs.

Karen et Khaled ont vérifié la qualité du code de la version 1.9, et s’ont venu à la conclusion que le code est véritablement plus compréhensible et mieux structuré que la version 1.9.
Le fait qu’il soit moins performant ne nous pose pas de problème étant donné qu’on va utiliser Spark et le Big Data.

==> Semaine prochaine:

  • Karen et Khaled vont décrire l’algorithme utilisé pour le calcul du fichier .genome et l’implémenter en Scala. (correspond aux commandes —-genome et —genome-full).
  • Nasseur va décrire l’algorithme pour le cluster.
  • Aboubakary va s’occuper de la commande IBS similarity matrix (--matrix, --distance-matrix) using MIBS / MDIST formats. 1) Faire le format de donnée (le rajouté au Wiki et au schéma Lucidchart). 2) Décrire l’algorithme.
  1. Autres questions/commentaires/problèmes
  • Difficulté à exécuter le projet sur Mac.
  • Solution: Essayer de « downgrader » la version de Java utilisé et prendre la version 1.7.
  1. Déterminer quelles seront nos prochaines tâches pour la semaine suivante
  • Karen s’occupe de revoir le schéma de donnée pour le 24/06.
  • Ivan s’occuper de revoir le schéma de donnée et de finir d’implémenter make-bed.
  • Karim: Essayer de rajouter la librairie Scallop ou Argot.
  • Nasseur: Faire algorithme pour le cluster.
  • Karen et Khaled: Algorithme pour le genome et genome-full.
  • Aboubakary: IBS similarity matrix (--matrix, --distance-matrix) using MIBS / MDIST formats. 1) Format de donnée. 2) Algorithme.
  • François:
    1. Va implémenter le schéma de donné crée.
    2. Va écrire au client cette semaine pour que Béatrice vienne nous rencontrer la semaine prochaine.
    3. A besoin d’avoir les trois étapes (lecture des fichiers, make-bed et genome) et les interactions entre eux (voir le schéma des données)

Lien pour Scallop: https://github.com/scallop/scallop
Lien pour Argot: http://software.clapper.org/argot/

Note @karim73: Si tu n'arrives pas à intégrer Scallop, essaies avec Argot.

@davidonlaptop
Copy link
Member

Pour le logger, avez-vous considéré Logback? C'est le successeur a log4j.

Merci pour l'update, a la semaine prochaine.

On Wed, Jun 24, 2015, 09:51 singemanator [email protected] wrote:

Réunion du 23/06/2015

Ordre du jour:

Présenter la nouvelle version du format ADAM (Ivan et Karen)
2.

Revoir la proposition sur la persistance (François)
3.

Revoir le processus de journalisation (Karim)
4.

Genome
5.

Autres questions/commentaires/problèmes

Déterminer quelles seront nos prochaines tâches pour la semaine
suivante

  1. Présenter la nouvelle version du format ADAM
  • Description du format du génome.

==> Karen s’occupe de revoir le schéma de donnée pour le 24/06.

  1. Revoir la proposition sur la persistance

    Choix sur la façon de persisté les données:

Choix 1: Tout réécrire à chaque fois.
Choix 2: Écrire un nouveau fichier à chaque fois qu’on veut écrire
(bonifier la BD).

Discussion avec April:

  • Dû à l’outil utilisé (Spark), on n’a pas le choix de créer un

    nouveau fichier à chaque fois qu’on veut écrire de nouveau.

    On n’aura pas une BD normalisée.

    Ivan: a réussi à exécuter le projet de persistance. Mais, il ne l’a

    pas encore intégré au projet Scala.

    Mettre l’ensemble des classes ADAM, plus les fichiers qu’on a ajouté
    dans la BD.

==> Semaine prochaine:

  • François va implémenter le schéma de donné crée.
  • Il va écrire au client cette semaine pour que Béatrice vienne nous
    rencontrer la semaine prochaine.
  • Il a besoin d’avoir les trois étapes (lecture des fichiers, make-bed
    et genome) et les interactions entre eux (voir le schéma des données)
  1. Revoir le processus de journalisation

    Scala logging prend la version 1.11. Les dépendances n’ont pas
    fonctionnées. Finalement, le Scala Logging à fonctionner, mais Spark a

    brisé.

    Problème: L’outil utilisé.

    Solution: Trouver un nouvel outil, qui soit simple à utiliser et à
    implémenter.

  2. Genome

    Choix de la version de Plink: Utiliser la version 1.07.

Selon les échanges avec Chang (la personne qui a fait la version 1.9), il
nous a conseillé de prendre la version 1.07 qui est:

  • Mieux structuré
  • Plus compréhensible que la version 1.9
  • Moins performant mais avec les mêmes algorithmes pour le calcul des
    champs.

Karen et Khaled ont vérifié la qualité du code de la version 1.9, et s’ont
venu à la conclusion que le code est véritablement plus compréhensible et
mieux structuré que la version 1.9.
Le fait qu’il soit moins performant ne nous pose pas de problème étant
donné qu’on va utiliser Spark et le Big Data.

==> Semaine prochaine:

Karen et Khaled vont décrire l’algorithme utilisé pour le calcul du
fichier .genome et l’implémenter en Scala. (correspond aux commandes
—-genome et —genome-full).

Nasseur va décrire l’algorithme pour le cluster.

Aboubakary va s’occuper de la commande IBS similarity matrix
(--matrix, --distance-matrix) using MIBS / MDIST formats. 1) Faire le
format de donnée (le rajouté au Wiki et au schéma Lucidchart). 2) Décrire
l’algorithme.

  1. Autres questions/commentaires/problèmes
  • Difficulté à exécuter le projet sur Mac.
  • Solution: Essayer de « downgrader » la version de Java utilisé et
    prendre la version 1.7.
  1. Déterminer quelles seront nos prochaines tâches pour la semaine
    suivante
  • Karen s’occupe de revoir le schéma de donnée pour le 24/06.
  • Ivan s’occuper de revoir le schéma de donnée et de finir
    d’implémenter make-bed.
  • Karim: Essayer de rajouter la librairie Scallop ou Argot.
  • Nasseur: Faire algorithme pour le cluster.
  • Karen et Khaled: Algorithme pour le genome et genome-full.
  • Aboubakary: IBS similarity matrix (--matrix, --distance-matrix)
    using MIBS / MDIST formats. 1) Format de donnée. 2) Algorithme.
  • François:
    1. Va implémenter le schéma de donné crée. 2) Va écrire au client
      cette semaine pour que Béatrice vienne nous rencontrer la semaine
      prochaine. 3) A besoin d’avoir les trois étapes (lecture des fichiers,
      make-bed et genome) et les interactions entre eux (voir le schéma des
      données)

Lien pour Scallop: https://github.com/scallop/scallop
Lien pour Argot: http://software.clapper.org/argot/

Note @karim73 https://github.com/karim73: Si tu n'arrives pas à
intégrer Scallop, essaies avec Argot.


Reply to this email directly or view it on GitHub
#40 (comment).

@iki-v
Copy link
Contributor Author

iki-v commented Jun 24, 2015

Mise à jour au compte rendu :

  • Debug de l'environnement de travail est à ce jour indispensable pour Karen et Khaled. Il s'agit d'un prerequis à toute implémentation prévue. @karim73 et @naceurMh ont validé la pertinence du dépôt. Comme discuté, essayez avec Java 7. Je reste disponible pour un échange mail ou réunion en mode Task Force.

En ce qui concerne l'organisation, pour faciliter la lecture et l'accès à l'information, on essaye de regrouper dans ce post les détails relatives aux réunions (ordre des jours et comptes rendus). Les taches spécifiques sont documentés séparément. Pour logging, il s'agit de #39. La personne en charge était autonome et a fait une étude comparative pour choisir l'outil, peut être cela nécessite un peut plus d'appui documentaire.

@karim73
Copy link

karim73 commented Jun 24, 2015

@davidonlaptop, j'ai essayé d'ajouté scala-logging (qui requiert logback). Scala-logging est compatible avec scala2.11 (la version utilisée dans le code est 2.10). Upgradé vers scala2.11 a causé un conflit avec spark

@davidonlaptop
Copy link
Member

Pour le logging, on peut pas utiliser logback directement? Se battre avec
les dépendances de spark a l'air d'une direction désagréable.

Pour le modèle, il faudrait que j'y réflechisse un peu plus. Ca devra
attendre a mon retour de vacances en début de semaine prochaine.

On Wed, Jun 24, 2015, 17:57 karim73 [email protected] wrote:

@davidonlaptop https://github.com/davidonlaptop, j'ai essayé d'ajouté
scala-logging (qui requiert logback). Scala-logging est compatible avec
scala2.11 (la version utilisée dans le code est 2.10). Upgradé vers
scala2.11 a causé un conflit avec spark


Reply to this email directly or view it on GitHub
#40 (comment).

@francois-boyer
Copy link

Bonjour,

Je viens de vérifier l'horaire de l'école et il n'y aura pas de cours cette semaine à cause de la fête du Canada. Est-ce qu'on essaye d'organiser une rencontre avec les clients quand même pour ne pas perdre une semaine de plus?

Merci,
François.

@iki-v
Copy link
Contributor Author

iki-v commented Jun 29, 2015

Bonjour,

Bien vu pour la fête du Canada. Je suis d'avis à les voir dès que possible (même un autre jour que mercredi). Il nous faut se positionner sur 2 points au plus vite :

  • Format de donnes
  • Solution de persistance

Sans ces réponses, il devient impossible d'avancer...
Merci,
Ivan

@ghost
Copy link

ghost commented Jun 29, 2015

Bonjour,

Nous pouvons fixer un rendez-vous avec le client jeudi ou vendredi.
Si cela convient à tout le monde.

Bonne soirée
Karen

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

4 participants