IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bioinformatique Perl Discussion :

détermination de position


Sujet :

Bioinformatique Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti Avatar de joyeux2000
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 20
    Par défaut détermination de position
    Bonjour,
    j'ai télécharger une séquence upstream(en amont du gène) à partir d'une base de donnée sous le format Fasta.
    je veux déterminer la position en -XXX pb.
    mais parfois il y a des séquences qui sont marquées FORWARD d'autres REVERSE. y a t'il différence entre les deux?
    exemple1:
    >XXXXXX FORWARD ATCGATCGATCGATCG.
    position: -???? pb

    >YYYYYY REVERSE ATCGATCGATCGATCG.
    position: -???? pb
    quelqu'un peut m'aider SVP pour déterminer la position des séquences colorés en rouge.
    merci d'avance
    cordialement

  2. #2
    Membre éprouvé
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Par défaut
    Citation Envoyé par joyeux2000 Voir le message
    mais parfois il y a des séquences qui sont marquées FORWARD d'autres REVERSE. y a t'il différence entre les deux?
    exemple1:
    >XXXXXX FORWARD ATCGATCGATCGATCG.
    position: -???? pb

    >YYYYYY REVERSE ATCGATCGATCGATCG.
    position: -???? pb
    A partir de quelle base de données? Cela provient de l'ADN qui est double brin tu as la séquence forward et la reverse.


    Citation Envoyé par joyeux2000 Voir le message
    quelqu'un peut m'aider SVP pour déterminer la position des séquences colorés en rouge.
    merci d'avance
    cordialement
    Tu dois utiliser une expression régulière.

    Que veux-tu rechercher, le motif ATCG. Ce motif est-il toujours précédé de xxx et suivi de xxxx ? Ce motif est trop petit que pour être cherché tel quel, tu peux le trouver facilement par hasard. Tu dois déterminer d'autres critères de recherche, comme par exemple les nucléotides devant précéder et suivre ce motif.


    Voila à quoi doit ressembler le script : tu peux modifier l'expression régulière m/(ATCG)/ par m/ATCG(ATCG)ATCG/ afin de rechercher un motif plus grand.

    Le module Bio::SeqIO te permet de récupérer proprement les données de ton fichier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    #!/usr/bin/perl
     
    use strict;
    use warnings;
     
    use Bio::SeqIO;
     
     
     
    my $file = '-----.txt';
    my $in  = Bio::SeqIO->new(-file => $file , '-format' => 'fasta');
     
     
     
    while ( my $seq = $in->next_seq() ) {
     
    	if ($seq->seq =~ m/(ATCG)/){
    		print "ATCG commence à la position $-[1]\nse termine juste avant la position $+[1]\n";
    	}
     
    }

  3. #3
    Membre averti Avatar de joyeux2000
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 20
    Par défaut
    Bonjour,
    Merci Jasmine80 pour la réponse .
    j'ai télécharger un fichier contenant les séquences upstreame des gènes à partir d'une base de données.
    ces sequences sont en format FASTA.
    exemple explicatif de sequence:
    >XX1G56520 | chr1:2695538-2696537 FORWARD LENGTH=500ATCGATCGATCGATCGGAGAGAGATCGATCGATCGATCGATCG>YY1G56520 | chr1:2695538-2696539 FORWARD LENGTH=500ATCGATCGATCGATCGGAGAGAGATCGATCGATCGATCGATCG....
    moi je veux écrire un code en bio perl qui:
    lit le fichier contenant les séquences ( on peux ouvrir avec bloc note, Word ...)
    recherche un motif bien déterminer (eg. GAGAGAGATCGA)
    donne à quelle gène correspond cette séquence ( par exemple pour le motif coloré en rouge en note le code de gène "XX1G56520". ID qui se trouve juste après la signe ">" précédente au motif )
    détermine la position de ce motif par rapport au codon start, autrement compte le nombre de lettre en commencent par le premier lettre de motif jusqu'à le dernier lettre avant la signe ">" suivante.
    donner les résultats sous la forme d'un tableau contenant le code de chaque gène et la position de motif correspondant( nombre de lettre trouver avec une signe mois "-")
    si vous voulez plus d'explication je suis toujours à votre disposition.
    aider moi SVP c'est urgent.
    cordialement

  4. #4
    Membre éprouvé
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Par défaut
    Bonjour Joyeux,

    Tu dois ouvrir le fichier de cette façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    open my $in_file_fh, '<', $file or die;
    Puis parcourir les lignes une à une ..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while (my $line = <$in_file_fh> ){
    .. afin de les analyser via des expressions régulières :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    	# si la ligne commence par > 
    	if ($line =~ m/^>(\w+)\|/){
    		$id = $1;
    	}
    	# si la ligne contient le motif
    	elsif ($line =~ m/(GAGAGAGATCGA)/i){
    		$pattern = $1;
    		$position = $-[1];
    	}

    Ce qui donne (script à adapter à ton cas)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    #!/usr/bin/perl
     
     
    use warnings;
    use strict;
     
     
    # ouverture du fichier
    my $file = '...';
    open my $in_file_fh, '<', $file or die;
     
     
    # tableau contenant les résultats
    my %tab;
     
     
     
    # parcours du fichier
    while (my $line = <$in_file_fh> ){
     
    	# récupération des informations
    	my $id;
    	my $pattern;
    	my $position;
     
    	# si la ligne commence par > 
    	if ($line =~ m/^>(\w+)\|/){
    		$id = $1;
    	}
    	# si la ligne contient le motif
    	elsif ($line =~ m/(GAGAGAGATCGA)/i){
    		$pattern = $1;
    		$position = 
    	}	
    	if ( (defined $id) && (defined $pattern) ){
     
    		# ce que tu veux garder
    		$tab{} = ;
     
    		# on remet les valeurs à zéro
    		$id;
    		$pattern;
    		$position;			
    	}
    }
     
    close $in_file_fh;

    Voici la FAQ sur les expressions régulières et les fichiers

    Si tu as d'autres questions, n'hésite pas.

  5. #5
    Membre averti Avatar de joyeux2000
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 20
    Par défaut
    Bonjour,
    premièrement, un grand merci à Jasmine80 pour tout l'aide qu'il m'a fourni.
    mais le problème que pour la position j'ai pas pu la déterminer, parce que moi je veux la position par rapport au codon start dans une séquence upstream, donc j'ai besoin de compter le nombre les lettres en commençant par la signe ">" qui suit le motif.
    j'ai essayé avec mais elle détermine la position par rapport au début de la ligne.
    de plus, pour je sais pas qu'est ce qu'il faut écrire à fin que le tableau affiche le id de gène et la position.
    c'est pas forcement que les résultats s'affichent sous la forme d'un tableau, l’essentiel on obtient code du gène suivie de la position correspondante.
    exemple explicatif de séquence:
    >XX1G56520 | chr1:2695538-2696537 FORWARD LENGTH=500ATCGATCGATCGATCGGAGAGAGATCGATCGATC>YY1G56520 | chr1:2695538-2696539 FORWARD LENGTH=500ATCGATCGATCGATCGGAGAGAGATCGATCGATCGATCGATCG....
    pour le motif en rouge
    id de gene: XX1G56520
    la position: -18 to -7
    je suis encore débutant , j'ai besoin de l'aide.
    Merci d'avance

  6. #6
    Membre éprouvé
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Par défaut
    Citation Envoyé par joyeux2000 Voir le message
    Bonjour,
    premièrement, un grand merci à Jasmine80 pour tout l'aide qu'il m'a fourni.
    mais le problème que pour la position j'ai pas pu la déterminer, parce que moi je veux la position par rapport au codon start dans une séquence upstream, donc j'ai besoin de compter le nombre les lettres en commençant par la signe ">" qui suit le motif.
    j'ai essayé avec mais elle détermine la position par rapport au début de la ligne.

    Si ta ligne vaut = '>XX1G56520 | chr1:2695538-2696537 FORWARD LENGTH=500ATCGATCGATCGATCGGAGAGAGATCGA', que tu cherches le motif GAGAGAGATCGA et que tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    	if ($line =~ m/LENGTH=\d+(\w+)(GAGAGAGATCGA)/){
     
    		# $2 contient le motif et $1 contient le début de séquence avant celui-ci
     
    		my $start_motif = length($1);
     
    		print $1."\n".$start_motif."\n";
    	}


    Citation Envoyé par joyeux2000 Voir le message
    de plus, pour je sais pas qu'est ce qu'il faut écrire à fin que le tableau affiche le id de gène et la position.
    Tu peux écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $tab{$id} = $start_motif

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 05/08/2014, 09h41
  2. Réponses: 6
    Dernier message: 21/12/2012, 17h05
  3. Tic tac toe- déterminer une position gagnante
    Par shirya dans le forum Intelligence artificielle
    Réponses: 7
    Dernier message: 26/10/2010, 10h33
  4. Déterminer la position d'un UserControl dans une Form
    Par Delphi-ne dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 25/11/2007, 13h59
  5. Déterminer la position de la souris
    Par genteur slayer dans le forum Composants VCL
    Réponses: 6
    Dernier message: 16/06/2003, 11h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo