silico.biotoul.fr
 

M1 BBS Graphes - Projets

From silico.biotoul.fr

(Difference between revisions)
Jump to: navigation, search
m (Created page with '= Bibliothèque Python = Une partie du projet consiste à terminer la bibliothèque python entamée au cours des TP. La liste des méthodes à implémenter est la suivante : * T…')
m (Gene Ontology)
Line 11: Line 11:
La deuxième partie du projet consiste à étendre la bibliothèque python afin de fournir des utilitaires pour la Gene Ontology. Ses principales fonctionnalités seront :
La deuxième partie du projet consiste à étendre la bibliothèque python afin de fournir des utilitaires pour la Gene Ontology. Ses principales fonctionnalités seront :
* le chargement du graphe représentant la Gene Ontology
* le chargement du graphe représentant la Gene Ontology
-
* le chargement des associations gene product - GO Term
+
* le chargement des associations ''gene product'' - ''GO Term''
Une fois ces étapes réalisées, les méthodes à implémenter sont :
Une fois ces étapes réalisées, les méthodes à implémenter sont :
-
* détermination du plus long chemin afin d'obtenir la profondeur maximale des trois ontologies (biological process, molecular function et cellular component)
+
* détermination du plus long chemin afin d'obtenir la profondeur maximale des trois ontologies (''biological process'', ''molecular function'' et ''cellular component'')
* obtention des gene products directement associés à un GO Term et inversement
* obtention des gene products directement associés à un GO Term et inversement
* obtention des gene products associés à un GO Term ou à un de ses descendants
* obtention des gene products associés à un GO Term ou à un de ses descendants
* pour un gene product, l'obtention des GO Term associés (avec les termes ancêtres)
* pour un gene product, l'obtention des GO Term associés (avec les termes ancêtres)
 +
 +
Pour le chargement du graphe de la Gene Ontology ainsi que le chargement des annotations spécifiques à un organisme, il vous est fourni en exemple  un fichier <tt>GeneOntology.py</tt> proposant les fonctions <tt>loadOBO</tt> pour le chargement du graphe de la Gene Ontology et <tt>loadGOA</tt> pour le chargement des annotations et leur ajout au graphe précédent. Vous pouvez vous servir de <tt>GeneOntology.py</tt> comme base de départ pour cette partie du projet, auquel cas vous ajouterez donc des fonctions.
Pour le '''chargement du graphe''', il s'agit d'implémenter la méthode loadOBO qui charge le format OBO (version 1.2, cf. [[silico:enseignement/m1/graph/GO.format.obo-1_2.html|OBO_1.2]]). Toutes les spécifications du format '''ne sont pas''' à respecter. On ne s'intéressera qu'aux tags : id, name, namespace, def, is_a, relationship. Les termes indiqués ''obsolete'' sont à ignorer. Le fichier à charger sera celui nommé go-basic dans la partie téléchargement de http://geneontology.org.
Pour le '''chargement du graphe''', il s'agit d'implémenter la méthode loadOBO qui charge le format OBO (version 1.2, cf. [[silico:enseignement/m1/graph/GO.format.obo-1_2.html|OBO_1.2]]). Toutes les spécifications du format '''ne sont pas''' à respecter. On ne s'intéressera qu'aux tags : id, name, namespace, def, is_a, relationship. Les termes indiqués ''obsolete'' sont à ignorer. Le fichier à charger sera celui nommé go-basic dans la partie téléchargement de http://geneontology.org.
-
Pour le '''chargement des annotations''', le format à prendre en charge s'appelle gaf (version 2.1). Vous pourrez travailler sur le(s) fichier(s) de votre choix à sélectionner dans la partie Annotations de la section téléchargement de http://geneontology.org. Un ensemble de proteomes est disponible sur le FTP de l'EBI : ftp://ftp.ebi.ac.uk/pub/databases/GO/goa avec le [ftp://ftp.ebi.ac.uk/pub/databases/GO/goa/proteomes/README README] qui vous indique à quoi correspondent les colonnes des fichiers. Celles (au minimum) à conserver sont :  
+
Pour le '''chargement des annotations''', le format à prendre en charge s'appelle gaf (version 2.1). Vous pourrez travailler sur le(s) fichier(s) de votre choix à sélectionner dans la partie Annotations de la section téléchargement de http://geneontology.org. Un ensemble de proteomes est disponible sur le FTP de l'EBI : ftp://ftp.ebi.ac.uk/pub/databases/GO/goa, notamment le répertoire [ftp://ftp.ebi.ac.uk/pub/databases/GO/goa/proteomes/ proteomes], avec le [ftp://ftp.ebi.ac.uk/pub/databases/GO/goa/proteomes/README README] qui vous indique à quoi correspondent les colonnes des fichiers. Celles (au minimum) à conserver sont :  
* 2) DB_Object_ID = identifiant unique (id)
* 2) DB_Object_ID = identifiant unique (id)
* 3) DB_Object_Symbol = nom du produit du gène (name)
* 3) DB_Object_Symbol = nom du produit du gène (name)
Line 37: Line 39:
* bilan et perspectives : est-ce que les besoins sont satisfaits ? qu'est-ce que l'on pourrait améliorer
* bilan et perspectives : est-ce que les besoins sont satisfaits ? qu'est-ce que l'on pourrait améliorer
-
Pour ces différentes sections, des schémas peuvent venir appuyer votre discours ; par exemple pour la conception, il est d'usage de fournir un diagramme de classe dans un projet comme celui-ci. Vous pourrez par exemple vous inspirer du diagramme ci-dessous (réalisé avec le logiciel Umbrello) :
+
Pour ces différentes sections, des schémas peuvent venir appuyer votre discours.
-
 
+
-
 
+
-
Un exemple de choix technique de réalisation (que j'ai personnellement fait) est de ne pas concrètement créer de classe GORelationship : j'ai utilisé des objets de classe Edge et stocké le type comme attribut.
+

Revision as of 16:00, 1 December 2016

Bibliothèque Python

Une partie du projet consiste à terminer la bibliothèque python entamée au cours des TP.

La liste des méthodes à implémenter est la suivante :

  • TP1: dfs, isAcyclic, topologicalSort
  • TP2: bfs, BellmanFord, FloydWarshall, FloydWarshallPath, diameter

Une attention particulière sera portée à la qualité du code et de ses commentaires. Un script de tests/validations devra être fourni (ou bien intégré directement dans la bibliothèque).

Gene Ontology

La deuxième partie du projet consiste à étendre la bibliothèque python afin de fournir des utilitaires pour la Gene Ontology. Ses principales fonctionnalités seront :

  • le chargement du graphe représentant la Gene Ontology
  • le chargement des associations gene product - GO Term

Une fois ces étapes réalisées, les méthodes à implémenter sont :

  • détermination du plus long chemin afin d'obtenir la profondeur maximale des trois ontologies (biological process, molecular function et cellular component)
  • obtention des gene products directement associés à un GO Term et inversement
  • obtention des gene products associés à un GO Term ou à un de ses descendants
  • pour un gene product, l'obtention des GO Term associés (avec les termes ancêtres)

Pour le chargement du graphe de la Gene Ontology ainsi que le chargement des annotations spécifiques à un organisme, il vous est fourni en exemple un fichier GeneOntology.py proposant les fonctions loadOBO pour le chargement du graphe de la Gene Ontology et loadGOA pour le chargement des annotations et leur ajout au graphe précédent. Vous pouvez vous servir de GeneOntology.py comme base de départ pour cette partie du projet, auquel cas vous ajouterez donc des fonctions.

Pour le chargement du graphe, il s'agit d'implémenter la méthode loadOBO qui charge le format OBO (version 1.2, cf. OBO_1.2). Toutes les spécifications du format ne sont pas à respecter. On ne s'intéressera qu'aux tags : id, name, namespace, def, is_a, relationship. Les termes indiqués obsolete sont à ignorer. Le fichier à charger sera celui nommé go-basic dans la partie téléchargement de http://geneontology.org.

Pour le chargement des annotations, le format à prendre en charge s'appelle gaf (version 2.1). Vous pourrez travailler sur le(s) fichier(s) de votre choix à sélectionner dans la partie Annotations de la section téléchargement de http://geneontology.org. Un ensemble de proteomes est disponible sur le FTP de l'EBI : ftp://ftp.ebi.ac.uk/pub/databases/GO/goa, notamment le répertoire proteomes, avec le README qui vous indique à quoi correspondent les colonnes des fichiers. Celles (au minimum) à conserver sont :

  • 2) DB_Object_ID = identifiant unique (id)
  • 3) DB_Object_Symbol = nom du produit du gène (name)
  • 7) Evidence Code = qualité de l'annotation (evidence-code)
  • 11) DB_Object_Synonym = autres identifiants pour ce produit de gène (aliases).

Dossier à rendre sous la forme d'une archive au format zip ou tar.gz

Le code de la bibliothèque annoté et assorti de jeux de tests (sans le fichier obo qui est le même pour tous).

Un rapport synthétique au format PDF comprenant a minima les sections :

  • analyse : analyse du contexte, des besoins et des fonctionnalités à fournir
  • conception : choix d'une représentation et algorithmes (avec leur complexité) pour réaliser les fonctionnalités
  • réalisation : choix techniques
  • bilan et perspectives : est-ce que les besoins sont satisfaits ? qu'est-ce que l'on pourrait améliorer

Pour ces différentes sections, des schémas peuvent venir appuyer votre discours.