silico.biotoul.fr
 

M2BBS GDNS-APG - Projets

From silico.biotoul.fr

(Difference between revisions)
Jump to: navigation, search
m
m (Loi hypergéométrique)
 
(24 intermediate revisions not shown)
Line 1: Line 1:
== Calendrier ==
== Calendrier ==
 +
 +
La date de remise du rapport est fixée au '''14 novembre 2021'''. Envoi par mail ou lien vers une archive à télécharger comprenant au minimum :
 +
 +
* le rapport au format PDF,
 +
* le script python de recherche d'enrichissement et la base de données neo4j
== Travail à réaliser ==
== Travail à réaliser ==
=== Constitution de la base de données ===
=== Constitution de la base de données ===
 +
 +
Base de données Neo4J avec les informations sur :
 +
 +
* Gene : les gènes et leur position sur le(s) chromosome(s)
 +
* Alias : les alias/synonymes des noms de gènes
 +
* Keyword (UniProt Proteome)
 +
* InterPro Domains (UniProt Proteome)
 +
* PubMed (GenBank/RefSeq)
 +
* TU (EcoCyc)
 +
* Pathway (EcoCyc)
 +
* GOTerm (Gene Ontology + UniProt Proteome)
 +
* scores d'association entre paires de gènes/protéines basés sur la coexpression, le lien phylogénomique, et l'interaction protéine-protéine (StringDB)
 +
 +
A titre d'illustration et d'exemple le schéma ci-dessous est inclus :
 +
 +
[[Image:M2BBS_GDNS-APG_schema_base_neo4j.png|Illustatrion de quelques uns des types de sommets et relations intégrés à la base de Neo4J]]<br/>
 +
'''Fig. 1:''' Schéma illustrant les sommets et liens de la base de données
=== Ajout de fonctionnalités au script de recherche d'enrichissement <tt>blastsets.py</tt> ===
=== Ajout de fonctionnalités au script de recherche d'enrichissement <tt>blastsets.py</tt> ===
-
'''Notation :''' On considère un ensemble requête ''Q'' (query) et un ensemble cible ''T'' (target, appartenant à un jeu de données de référence). Les deux ensembles sont inclus dans l'ensemble des gènes de l'organisme ''G'' (génome). Ils ont respectivement des cardinalités ''q'', ''t'', ''g''.
+
'''Notation :''' On considère un ensemble requête ''Q'' (''query'') et un ensemble cible ''T'' (''target'', appartenant à un jeu de données de référence). Les deux ensembles sont inclus dans l'ensemble des gènes de l'organisme ''G'' (''genome''). Ils ont respectivement des cardinalités ''q'', ''t'', ''g''. L'intersection des ensembles Q et T a une cardinalité ''c''.
-
Il s'agit de proposer d'autres mesures de similarités. La première est naïve (pas statistique) que l'on nommera ''overlap'' ou ''coverage'' et consiste à considérer quelles fractions des 2 ensembles se correspondent. Pour la cohérence avec les autres mesures la valeur sera de 1 quand aucun élément n'est commun aux 2 ensembles, et 0 pour 2 ensembles identiques. Il s'agit donc de multiplier ''c/q'' par ''c/t'' avec ''c'' le nombre d'éléments communs aux ensembles ''Q'' et ''T'' respectivement de cardinalités ''q'' et ''t'', et de soustraire cette valeur à 1.
+
Il s'agit de proposer d'autres mesures de similarités.
-
La deuxième mesure à ajouter est un <math>\chi^2</math> d'indépendance en considérant les ensembles ''Q'' et ''T'' comme 2 variables qualitatives. Le test est donc à effectuer sur la table de contingence :
+
==== Coverage ====
 +
 
 +
La première mesure à intégrer est naïve (pas statistique) que l'on nommera ''coverage'' et consiste à considérer quelles fractions des 2 ensembles se correspondent. Pour la cohérence avec les autres mesures (et faciliter le tri de résultats de manière croissante), la valeur sera de 1 quand aucun élément n'est commun aux 2 ensembles, et 0 pour 2 ensembles identiques. Il s'agit donc de multiplier ''c/q'' par ''c/t'' avec ''c'' le nombre d'éléments communs aux ensembles ''Q'' et ''T'' respectivement de cardinalités ''q'' et ''t'', et de soustraire cette valeur à 1.
 +
 
 +
==== <math>\chi^2</math> d'indépendance ====
 +
 
 +
La deuxième mesure à ajouter est un <math>\chi^2</math> d'indépendance en considérant les ensembles ''Q'' et ''T'' comme 2 facteurs (variables qualitatives). Le test est donc à effectuer sur la table de contingence :
{| border='1' cellspacing='0' cellpadding='10'
{| border='1' cellspacing='0' cellpadding='10'
|-
|-
Line 23: Line 51:
|}
|}
-
'''Remarque :''' Il est possible de s'autoriser à transformer la mesure non statistique (coverage) afin qu'elle indique la dissemblance entre 2 ensembles (0 : identique, >0 : dissemblable). Ainsi les résultats seront triés dans le même ordre pour ''coverage'' et pour les p-valeurs (du <math>\chi^2</math> par exemple).
+
==== Loi hypergéométrique ====
-
=== Comparaison des mesures ajoutées ===
+
Il s'agit d'ajouter une mesure basée sur la loi hypergéométrique (aussi appelée, selon le contexte, test exact de Fisher). Cela correspond à considérer les 2 ensembles ''Q'' et ''T'' comme 2 échantillons aléatoires, avec remise (loi binomiale) ou sans remise (loi hypergéométrique), et de calculer la probabilité d'avoir au moins autant d'éléments ''C'' en commun (par hasard).
-
Proposez une approche et comparez les différentes mesures intégrées au script. Laquelle est-il préférable d'utiliser ?
+
<!--==== Information mutuelle ====
 +
 
 +
La dernière mesure à intégrer...
 +
-->
 +
 
 +
=== Comparaison des mesures disponibles ===
 +
 
 +
Proposez une approche et comparez les différentes mesures intégrées au script. Le but est de déterminer laquelle il est préférable d'utiliser et dans quel(s) cas.
 +
 
 +
Il vous faudra donc proposer et décrire, dans un premier temps,  une méthode permettant d'effectuer cette comparaison, soit de manière analytique (basée sur les hypothèses et calculs associés à chaque mesure), soit de manière empirique (basée sur des ensembles requêtes synthétiques permettant d'évaluer quelle mesure fait remonter les résultats souhaités), puis, dans un deuxième temps, de mettre en oeuvre cette méthode pour obtenir des résultats. Les résultats seront ensuite à interpréter et à discuter afin de conclure sur les aspects positifs et négatifs des différentes mesures, et éventuellement de proposer des perspectives.
 +
 
 +
=== Analyse d'un ensemble de gènes d'intérêt fourni ===
 +
 
 +
Chaque étudiant·e fera l'analyse d'un ensemble de gènes fourni. Les ensembles sont disponibles au téléchargement à l'adresse suivante : [[silico:enseignement/m2bbs/idh/2021/query.sets.projet/|query sets pour le projet]]. Le numéro correspondant à chaque étudiant (son numéro en P0) fait partie du nom du fichier. Par exemple, Natacha qui est habituellement sur le pc7 prendra le fichier set.M2.7.txt, et Mathias, normalement, sur le pc9 prendra le fichier... set.M2.9.txt (cf. [http://silico.biotoul.fr/p/M2BBS_-_Atelier_Syst%C3%A8me#Configuration_r.C3.A9seau plan]). Consultez-moi si ce n'est pas suffisamment clair.
 +
 
 +
L'analyse consiste à caractériser l'ensemble de gènes fourni par les méthodes d'enrichissement ou de sur-représentation statistique (script réalisé plus haut) en interrogeant l'ensemble des données intégrées dans votre base de données Neo4J. Une fois les recherches effectuées, il faudra synthétiser et commenter les informations retenues comme pertinentes à l'aide, éventuellement, d'illustrations comme celles résentées en cours.
== Rapport à rendre ==
== Rapport à rendre ==
 +
 +
Il doit inclure
 +
* une brève introduction générale décrivant le contexte, les objectifs et le plan de ce qui suit.
 +
* intégration et préparation des données
 +
** données, librairies et programmes utilisés (sans oublier les versions)
 +
** choix effectués lors de l'intégration
 +
** statistiques descriptives sur les données intégrées (ex: nombre de gènes, GOTerms, références PubMed, ''etc.'', et nombre de liens entre ces entités, distributions des échantillons et graphiques d'illustration, ''etc.'')
 +
* ajout de fonctionnalités :
 +
** des explications sur les modifications apportées au script original,
 +
** comment utiliser le script modifié,
 +
** un exemple d'utilisation des fonctionnalités ajoutées.
 +
* comparaison des mesures intégrées :
 +
** approches envisagées et méthode pour en sélectionner une
 +
** mise en oeuvre
 +
** synthèse des résultats obtenus
 +
** bilan : quelle mesure utiliser de préférence, pourquoi
 +
** perspectives d'amélioration
 +
* analyse de l'ensemble de gènes fourni
 +
** résultats obtenus par la recherche d'enrichissement
 +
** discussion et commentaires sur ce qui caractérise cet ensemble, avec, illustrations si pertinentes et utiles
 +
* bilan personnel sur le projet et l'UE : motivations ? critiques ? suggestions ? apports ? ... ?
 +
 +
Contraintes :
 +
* Le rapport doit être au format PDF.
 +
* Le rapport peut être en anglais ou en français mais pas les 2.
 +
* Le script modifié et les éventuels jeux de tests utilisés et résultats obtenus doivent être fournis ou disponibles sous forme d'archive ou projet gitlab.
 +
 +
Remarque : une attention toute particulière sera portée aux soins apportés au rapport final et à sa qualité globale, à sa lisibilité, sa pertinence ainsi qu'au niveau du langage employé (français/anglais, scientifique, rigoureux, usage du vocabulaire consacré au domaine, orthographe et grammaire).

Current revision as of 07:55, 7 December 2021

Contents

Calendrier

La date de remise du rapport est fixée au 14 novembre 2021. Envoi par mail ou lien vers une archive à télécharger comprenant au minimum :

  • le rapport au format PDF,
  • le script python de recherche d'enrichissement et la base de données neo4j

Travail à réaliser

Constitution de la base de données

Base de données Neo4J avec les informations sur :

  • Gene : les gènes et leur position sur le(s) chromosome(s)
  • Alias : les alias/synonymes des noms de gènes
  • Keyword (UniProt Proteome)
  • InterPro Domains (UniProt Proteome)
  • PubMed (GenBank/RefSeq)
  • TU (EcoCyc)
  • Pathway (EcoCyc)
  • GOTerm (Gene Ontology + UniProt Proteome)
  • scores d'association entre paires de gènes/protéines basés sur la coexpression, le lien phylogénomique, et l'interaction protéine-protéine (StringDB)

A titre d'illustration et d'exemple le schéma ci-dessous est inclus :

Illustatrion de quelques uns des types de sommets et relations intégrés à la base de Neo4J
Fig. 1: Schéma illustrant les sommets et liens de la base de données

Ajout de fonctionnalités au script de recherche d'enrichissement blastsets.py

Notation : On considère un ensemble requête Q (query) et un ensemble cible T (target, appartenant à un jeu de données de référence). Les deux ensembles sont inclus dans l'ensemble des gènes de l'organisme G (genome). Ils ont respectivement des cardinalités q, t, g. L'intersection des ensembles Q et T a une cardinalité c.

Il s'agit de proposer d'autres mesures de similarités.

Coverage

La première mesure à intégrer est naïve (pas statistique) que l'on nommera coverage et consiste à considérer quelles fractions des 2 ensembles se correspondent. Pour la cohérence avec les autres mesures (et faciliter le tri de résultats de manière croissante), la valeur sera de 1 quand aucun élément n'est commun aux 2 ensembles, et 0 pour 2 ensembles identiques. Il s'agit donc de multiplier c/q par c/t avec c le nombre d'éléments communs aux ensembles Q et T respectivement de cardinalités q et t, et de soustraire cette valeur à 1.

χ2 d'indépendance

La deuxième mesure à ajouter est un χ2 d'indépendance en considérant les ensembles Q et T comme 2 facteurs (variables qualitatives). Le test est donc à effectuer sur la table de contingence :

T G \ T Σ
Q c q - c q
G \ Q t - c g - q - t + c g - q
Σ t g - t g

Loi hypergéométrique

Il s'agit d'ajouter une mesure basée sur la loi hypergéométrique (aussi appelée, selon le contexte, test exact de Fisher). Cela correspond à considérer les 2 ensembles Q et T comme 2 échantillons aléatoires, avec remise (loi binomiale) ou sans remise (loi hypergéométrique), et de calculer la probabilité d'avoir au moins autant d'éléments C en commun (par hasard).


Comparaison des mesures disponibles

Proposez une approche et comparez les différentes mesures intégrées au script. Le but est de déterminer laquelle il est préférable d'utiliser et dans quel(s) cas.

Il vous faudra donc proposer et décrire, dans un premier temps, une méthode permettant d'effectuer cette comparaison, soit de manière analytique (basée sur les hypothèses et calculs associés à chaque mesure), soit de manière empirique (basée sur des ensembles requêtes synthétiques permettant d'évaluer quelle mesure fait remonter les résultats souhaités), puis, dans un deuxième temps, de mettre en oeuvre cette méthode pour obtenir des résultats. Les résultats seront ensuite à interpréter et à discuter afin de conclure sur les aspects positifs et négatifs des différentes mesures, et éventuellement de proposer des perspectives.

Analyse d'un ensemble de gènes d'intérêt fourni

Chaque étudiant·e fera l'analyse d'un ensemble de gènes fourni. Les ensembles sont disponibles au téléchargement à l'adresse suivante : query sets pour le projet. Le numéro correspondant à chaque étudiant (son numéro en P0) fait partie du nom du fichier. Par exemple, Natacha qui est habituellement sur le pc7 prendra le fichier set.M2.7.txt, et Mathias, normalement, sur le pc9 prendra le fichier... set.M2.9.txt (cf. plan). Consultez-moi si ce n'est pas suffisamment clair.

L'analyse consiste à caractériser l'ensemble de gènes fourni par les méthodes d'enrichissement ou de sur-représentation statistique (script réalisé plus haut) en interrogeant l'ensemble des données intégrées dans votre base de données Neo4J. Une fois les recherches effectuées, il faudra synthétiser et commenter les informations retenues comme pertinentes à l'aide, éventuellement, d'illustrations comme celles résentées en cours.

Rapport à rendre

Il doit inclure

  • une brève introduction générale décrivant le contexte, les objectifs et le plan de ce qui suit.
  • intégration et préparation des données
    • données, librairies et programmes utilisés (sans oublier les versions)
    • choix effectués lors de l'intégration
    • statistiques descriptives sur les données intégrées (ex: nombre de gènes, GOTerms, références PubMed, etc., et nombre de liens entre ces entités, distributions des échantillons et graphiques d'illustration, etc.)
  • ajout de fonctionnalités :
    • des explications sur les modifications apportées au script original,
    • comment utiliser le script modifié,
    • un exemple d'utilisation des fonctionnalités ajoutées.
  • comparaison des mesures intégrées :
    • approches envisagées et méthode pour en sélectionner une
    • mise en oeuvre
    • synthèse des résultats obtenus
    • bilan : quelle mesure utiliser de préférence, pourquoi
    • perspectives d'amélioration
  • analyse de l'ensemble de gènes fourni
    • résultats obtenus par la recherche d'enrichissement
    • discussion et commentaires sur ce qui caractérise cet ensemble, avec, illustrations si pertinentes et utiles
  • bilan personnel sur le projet et l'UE : motivations ? critiques ? suggestions ? apports ? ... ?

Contraintes :

  • Le rapport doit être au format PDF.
  • Le rapport peut être en anglais ou en français mais pas les 2.
  • Le script modifié et les éventuels jeux de tests utilisés et résultats obtenus doivent être fournis ou disponibles sous forme d'archive ou projet gitlab.

Remarque : une attention toute particulière sera portée aux soins apportés au rapport final et à sa qualité globale, à sa lisibilité, sa pertinence ainsi qu'au niveau du langage employé (français/anglais, scientifique, rigoureux, usage du vocabulaire consacré au domaine, orthographe et grammaire).