English version Obtenir le programme Dernières nouveautés

ISLAND :
Programme de simulation d'expériences de cartographie physique de chromosomes par la méthode d'ancrage



Fonction Références Usage


Fonction:

Ce programme permet de déterminer ou d'estimer le résultat d'expériences de cartographie physique de génomes par la méthode d'ancrage, en calculant le nombre (moyen) d'îles ancrées obtenues, leur longueur moyenne ainsi que la proportion (moyenne) de génome non recouvert par les îles ancrées.

Les positions des clones et des ancres le long du génome sont :
- soit
lues dans des fichiers fournis par l'utilisateur,
- soit simulées à partir de paramètres indiqués par l'utilisateur.

Les clones contenant au moins une ancre en commun sont assemblés en îles ancrées.

Le programme est écrit en C++.

Sommaire

Références:

Sommaire

Usage:


positions des clones et des ancres lues dans des fichiers positions des clones et des ancres simulées



A. Lorsque les positions des clones et des ancres sont lues dans des fichiers


Les entrées Les sorties Utilisation Exemple

A.1 Les entrées

L'utilisateur fournit les 2 fichiers suivants :

Sommaire

A.2 Les sorties

Les résultats sont :

  • le nombre d'îles ancrées,
  • la longueur moyenne des îles ancrées,
  • le pourcentage de génome recouvert par les îles ancrées.

Sommaire

A.3 Utilisation

Par une commande Unix À partir d'un programme d'appel

A.3.1 Par une commande Unix

island -c[lones] nom-du-fichier-des-clones 
       -a[nchors] nom-du-fichier-des-ancres
       [-f[rench]]
Le fichier des clones et le fichier des ancres sont 2 fichiers en entrée, non modifiés en sortie.

Les résultats sont imprimés sur la sortie standard.

Quand l'option -french est positionnée, les messages apparaissent en français. Par défaut, ils sont en anglais.

Sommaire


A.3.2 À partir d'un programme d'appel

On peut appeler island à partir d'un programme ou d'un système d'accueil, après compilation des fichiers-source C++ fournis dans le package et édition de liens des fichiers-objet créés avec le programme ou le système d'appel.

Deux possibilités sont offertes :

  1. appeler un programme qui affiche les résultats sur la sortie standard.

  2. appeler directement le programme qui effectue les calculs : dans ce cas, les résultats sont transmis dans des arguments.

Dans tous les cas, une variable globale doit être déclarée et initialisée dans le programme d'appel :

int french=0;
La valeur 0 signifie que les messages sont en anglais.
Si on désire des messages en français, french doit être initialisée à la valeur 1.


A.3.2.1 Utilisation à partir d'un programme d'appel
avec affichage des résultats :

La déclaration du programme à appeler est la suivante :

void main_lecture(char* ficclone, char * ficancre);
Les arguments ficclone et ficancre contiennent respectivement le pathname du
fichier où sont indiquées les positions des clones et le pathname du fichier où sont indiquées les positions des ancres.

Sommaire

A.3.2.2 Utilisation à partir d'un programme d'appel
avec transmission des entrées et des sorties dans des arguments :

La déclaration du programme à appeler est la suivante :


void commun(int SIZE, int M, int N, int inter, double Ginit, 
            double Np, double max, double min,
            ifstream& ificclone, ifstream& ificancre,
            ofstream& ofic,
            double& NbMoy, double& LgMoy, double& OceanMoy,
            double& VarNbIle, double& VarLgIle, double& VarOcean) 

Remarque :
Ce programme pouvant être utilisé à la fois dans le cas où les positions des clones et des ancres sont lues sur des fichiers, et dans le cas où les positions des clones et des ancres sont simulées, les arguments sont décrits ici dans les 2 cas.

Arguments d'entrée :

SIZE : Nombre d'itérations dans le cas simulation des positions ; 1 sinon.

M : Nombre moyen d'ancres dans le cas simulation des positions ; ignoré sinon.

N : Nombre moyen de clones dans le cas simulation des positions ; ignoré sinon.

inter : Variabilité des longueurs de clones (en bp) dans le cas simulation des positions ; ignoré sinon.

Ginit : Longueur du génome (en bp).

Np : Nombre de plages dans le cas simulation des positions ; ignoré sinon.

max : Longueur moyenne des longs clones (en bp) dans le cas simulation des positions ; ignoré sinon.

min : Longueur moyenne des courts clones (en bp) dans le cas simulation des positions ; ignoré sinon.

ificclone : Pointeur sur un fichier ouvert en lecture dans le cas lecture des positions ; pointeur NULL sinon (variable de lecture dans le
fichier des clones).
ificancre : Pointeur sur un fichier ouvert en lecture dans le cas lecture des positions ; pointeur NULL sinon (variable de lecture dans le
fichier des ancres).
ofic : Pointeur sur un fichier ouvert en écriture dans le cas simulation des positions, lorsqu'on veut écrire les résultats de chaque itération ; pointeur NULL sinon (variable d'écriture dans le fichier
detail).

Arguments de sortie :

NbMoy : nombre (moyen) d'îles ancrées,

LgMoy : longueur moyenne des îles ancrées,

OceanMoy : proportion (moyenne) d'océans (génome non recouvert par les îles ancrées),

VarNbIle, VarLgIle, VarOcean : variances empiriques de ces quantités dans le cas où plusieurs simulations des positions ont été effectuées ; valeurs nulles sinon.

Remarque :
Les valeurs des écart-types obtenues dans les autres modes d'utilisation du programme sont égales à sqrt(Variance/SIZE).

Sommaire

A.4 Exemple d'exécution :

Premières lignes du fichier des clones, fichier appelé CLONES :
(Les commentaires ne font pas partie du fichier)

100000          <----- longueur du génome en paires de bases
 99805 99920    <----- débuts puis fins de clones
 99749 99894    <-----    .... 
 99762 99877    <-----        .... triés par fins décroissantes

Premières lignes du fichier des ancres, fichier appelé ANCRES :
(Les commentaires ne font pas partie du fichier)

100000          <----- longueur du génome en paires de bases
 99927          <----- positions d'ancres
 99865          <-----    .... 
 99563          <-----        .... triées par valeurs décroissantes

Exécution :

island -clones CLONES -anchors ANCRES -french

Résultat :

Ce programme calcule certaines propriétés de la carte physique
d'un génome de taille 100000 construite par la méthode d'ancrage.
 
Les positions des clones et des ancres sont lues respectivement 
dans les fichiers CLONES et ANCRES.
 
Nombre de clones considérés : 2334
Nombre d'ancres considérées : 514
 
 
 
Voici les résultats :

On obtient 193 îles ancrées,
d'une longueur moyenne de 519.466 bases
et couvrant 88.0718 pourcent du génome.

Sommaire


B. Lorsque les positions des clones et des ancres sont simulées


Les conditions expérimentales Les entrées Les sorties Utilisation Exemple


B.1 Les conditions expérimentales
  • Les ancres et les fins de clones sont simulées aléatoirement et de façon homogène le long du génome (selon des processus de Poisson).
  • Les clones possèdent des longueurs indépendantes mais non nécessairement identiquement distribuées : la distribution de la longueur d'un clone dépend de la position du clone le long du génome. Le modèle suivant est utilisé : on suppose que le génome est découpé alternativement en plages de longs clones et en plages de courts clones. La longueur d'un long clone (c'est à dire d'un clone terminant dans une plage de longs clones) est uniformément distribuée entre L-v et L+v, tandis que la longueur d'un court clone est uniformément distribuée entre l-v et l+v ( l, L et v étant des paramètres fournis par l'utilisateur).
  • Les plages de longs clones et de courts clones sont de longueur fixe.

B.2 Les entrées

Un dialogue est établi avec l'utilisateur, par lequel celui-ci fournit les paramètres suivants :

  • le nombre d'itérations requises pour calculer les moyennes et écart-types des quantités d'intérêt (nombre de simulations),
  • la longueur du génome étudié en paires de bases,
  • le nombre moyen d'ancres utilisées,
  • le nombre moyen de clones utilisés,
  • le nombre de plages de longs et courts clones,
  • la longueur moyenne des longs clones (soit L),
  • la longueur moyenne des courts clones (soit l),
  • la variabilité des longueurs de clones (soit v).

Sommaire

B.3 Les sorties

Les résultats sont :
  • le nombre moyen d'îles ancrées plus ou moins l'écart-type,
  • la longueur moyenne des îles ancrées plus ou moins l'écart-type,
  • la proportion moyenne d'océans plus ou moins l'écart-type.

Sommaire

B.4 Utilisation

Par une commande Unix À partir d'un programme d'appel

B.4.1 Par une commande Unix
island [-d[etail] nom-de-fichier ] [-f[rench]]
L'option -detail provoque l'écriture, dans le fichier du nom spécifié, des trois quantités d'intérêt à chaque itération.
Attention: si le fichier existe déjà, son contenu est remplacé.

Quand l'option -french est positionnée, les messages apparaissent en français. Par défaut, ils sont en anglais.

Les résultats sont imprimés sur la sortie standard.

Sommaire


B.4.2 À partir d'un programme d'appel

Comme dans le cas où les positions des clones et des ancres sont lues sur des fichiers, on peut appeler island à partir d'un programme ou d'un système d'accueil : voir le paragraphe A.3.2.

  • Le programme qui affiche les résultats sur la sortie standard est, dans le cas de simulation des posititions, le programme main_simul.
  • Le programme qui effectue les calculs est le programme commun, identique dans les 2 cas.


Utilisation à partir d'un programme d'appel
avec affichage des résultats :

La déclaration du programme à appeler est la suivante :

void main_simul(char* fic);
L'argument fic contient le pathname du fichier où l'on désire stocker les trois quantités d'intérêt à chaque itération. Si on ne désire pas stocker ces valeurs, fic doit être égal à NULL.

Remarque : fic correspond à la valeur de l'option -detail de la commande island.

Sommaire

B.5 Exemple d'exécution

Appel de la commande Unix :

island -french
Ce qui apparaît sur l'écran (ou la sortie standard) :

Ce programme calcule certaines propriétés de la carte physique
d'un génome construite par la méthode d'ancrage.
 
Entrez les données nécessaires à la réalisation de cette expérience.
 
 
Combien d'itérations voulez-vous effectuer (>0) ? 
100
Quelle est la longueur du génome (en paires de bases) ?
100000000
Quel est le nombre moyen d'ancres (>0) ?
500
Quel est le nombre moyen de clones (>0) ?
2300
Combien y a t-il de plages (>0) ?
20
Quelle est la longueur des longs clones (en bases) ?
350000
Quelle est la longueur des courts clones (en bases) ?
150000
Quelle est la variabilité des longueurs au sein d'une plage de clones (en bases) ?
100000
 
 
Longueur du génome (bp) : 1e+08
Nombre moyen d'ancres : 500
Nombre moyen de clones : 2300
Nombre de plages : 20
Longueur moyenne des longs clones (bp) : 350000
Longueur moyenne des courts clones (bp) : 150000
Variabilité des longueurs de clones (bp) : 100000
 
 
 
 
RÉSULTATS:
Nombre moyen d'îles ancrées :            175.02 (+/- 0.7970) 
Longueur moyenne des îles ancrées (bp) : 540575.02 (+/- 1934.8311) 
Proportion moyenne d'océans :             0.16 (+/- 0.0018)

Sommaire


Dernière version: 25 juin 1998