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 :

perl Bio::SeqIO=>récupérer la ligne entière


Sujet :

Bioinformatique Perl

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 142
    Points : 57
    Points
    57
    Par défaut perl Bio::SeqIO=>récupérer la ligne entière
    Bonjour,

    Comment récupérer la ligne ENTIERE de mon fichier fasta?

    exemple:
    >eb|xxx|xxx; xxxx xxxxx xxxx xxxxx xxxxx
    catgtacgtgtagttagtagtacgtcagtacgtca
    catgacgtcatgatcctgatcggatacggta

    A l'aide de mon script, je récupère seulement: eb|xxx|xxx;
    (je pense que cela est du à l'espace après le point virgule!)
    Je voudrais récupérer: eb|xxx|xxx; xxxx xxxxx xxxx xxxxx xxxxx

    Merci par avance

    Mon script:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    my $file = 'xxx.fa ';
    my $in  = Bio::SeqIO->new(-file => $file , '-format' => 'fasta');
    my %hash;
    my $nb_seq++;
     
    while ( my $seq = $in->next_seq() ){
        $nb_seq++;          
        $hash{$seq->seq} = $seq->primary_id ;
    }
    foreach my $seq (keys %hash){   
        print ">$hash{$seq}\n$seq\n";
    }

  2. #2
    Membre confirmé Avatar de Beniou
    Homme Profil pro
    Inscrit en
    Novembre 2009
    Messages
    357
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Novembre 2009
    Messages : 357
    Points : 515
    Points
    515
    Par défaut
    Bonjour,

    En fait pour Bioperl, l'identifiant fasta est tout ce qui se trouve sur la ligne commençant par ">" jusqu'au premier espace ou retour ligne (accessible via les fonctions primary_id ou display_id). Ensuite, il considère que cela fait partie de la description (avec la fonction desc).

    Donc si tu veux récupérer toute la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    my $file = 'xxx.fa ';
    my $in  = Bio::SeqIO->new(-file => $file , '-format' => 'fasta');
    my %hash;
    my $nb_seq++;
     
    while ( my $seq = $in->next_seq() ){
        $nb_seq++;          
        $hash{$seq->seq} = $seq->display_id.$seq->desc ;
    }
    foreach my $seq (keys %hash){   
        print ">$hash{$seq}\n$seq\n";
    }

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 142
    Points : 57
    Points
    57
    Par défaut
    Merci beaucoup Beniou, j'ai compris

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

Discussions similaires

  1. [XL-2010] Récupérer ligne entière suivant valeur d'une autre feuille
    Par neGo33 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/05/2015, 16h37
  2. perl Bio::SeqIO /probleme primary_id et desc
    Par pontarose dans le forum Bioinformatique
    Réponses: 3
    Dernier message: 28/03/2014, 16h14
  3. Récupérer ligne entière (.xls)
    Par urban45 dans le forum Pentaho
    Réponses: 1
    Dernier message: 10/07/2009, 19h54
  4. Récupérer ligne entière dans trigger
    Par Taoueret dans le forum PL/SQL
    Réponses: 6
    Dernier message: 04/07/2007, 14h49
  5. Génération de lignes entières avec TEXT_IO.PUT
    Par ludo.guy dans le forum Oracle
    Réponses: 9
    Dernier message: 13/10/2004, 15h28

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