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

Langage Perl Discussion :

EXPREG récupération de liste


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    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 EXPREG récupération de liste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    # REGEXP
    # $1 =>  $for_length_e5 nucléotides, suivi du motif $for_e3
    # $2 =>  motif $rev_e3 suivi de $rev_length_e5 nucléotides
    $row[2] =~ /([A-Z]{0,$for_length_e5})$for_e3.*$rev_e3([A-Z]{0,$rev_length_e5})/
    Je récupère 2 valeurs que je dois analyser en couple. L'ennui est que je peux avoir plusieurs fois ce couple le long de $row[2].

    si j'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(my @list = ($row[2] =~ /([A-Z]{0,$for_length_e5})$for_e3.*$rev_e3([A-Z]{0,$rev_length_e5})/g)){
        # traitement couple par couple
    }
    Tous mes couples se suivent et je dois les extraire 1 à 1.


    Ou alors, je ne récupère qu'une valeur mais je dois alors ensuite la découper en 2 ... ce qui est stupide, car je refais deux fois le même travail.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	if (my @list = ($row[2] =~ /([A-Z]{0,$for_length_e5}$for_e3.*$rev_e3[A-Z]{0,$rev_length_e5})/)){
     
    		foreach my $db_seq (@list){ 
    			my ($db_seq_for, $db_seq_rev) = ($db_seq =~ /([A-Z]{0,$for_length_e5})$for_e3.*$rev_e3([A-Z]{0,$rev_length_e5})/);
    			...

    Quelle est la meilleure façon de procéder? Merci.

  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
    J'ai trouvé la solution. Je vais utiliser un while au lieu du if
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while($row[2] =~ /([A-Z]{0,$for_length_e5})$for_e3.*?$rev_e3([A-Z]{0,$rev_length_e5})/g){

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

Discussions similaires

  1. [Tableaux] pb récupération valeurs listes
    Par clairette dans le forum Langage
    Réponses: 6
    Dernier message: 10/03/2011, 18h29
  2. Réponses: 2
    Dernier message: 20/03/2008, 10h19
  3. Récupération donnée listes déroulantes
    Par Quatre dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 13/02/2008, 21h48
  4. [Débutant] Problème de récupération de liste déroulante
    Par kaelem dans le forum Interfaces Graphiques en Java
    Réponses: 5
    Dernier message: 07/01/2007, 18h35
  5. Réponses: 1
    Dernier message: 03/08/2006, 10h06

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