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 :

Bioperl et GenPept


Sujet :

Bioinformatique Perl

  1. #1
    Candidat au Club
    Inscrit en
    Février 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Bioperl et GenPept
    Bonjour à tous,

    Je suis en M2 recherche Bioinfo, et je débute en Perl (*le contexte est posé* )

    J'aimerais automatiser des requête à partir de numéro gi, pour récupérer des fiches GenPept, et d'après ce que j'ai pu lire, je dois pouvoir le faire grâce à Bioperl.

    Y'a t'il besoin d'installer autre chose que la version "de base" de bioperl?

    Merci pour votre aide, et désolée si la question parait bête

  2. #2
    Rédactrice

    Avatar de stoyak
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    408
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 408
    Points : 1 491
    Points
    1 491
    Par défaut
    il faut que tu cherches dans BioPerl le module qui te serait utile .... à voir aussi s'il ne sera pas plus facile pour toi d'écrire ton propre script (au vu de ce que tu écris, je pense que c'est relativement facile)
    Cela demande du courage d'en tirer du plaisir
    Quand on n'a qu'un marteau, tous les problèmes ressemblent à un clou

  3. #3
    Candidat au Club
    Inscrit en
    Février 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par stoyak
    à voir aussi s'il ne sera pas plus facile pour toi d'écrire ton propre script (au vu de ce que tu écris, je pense que c'est relativement facile
    J'ai bien pensé à développer un petit script mais j'ai l'impression qu'on ne peut pas lancer de requêtes dans Batch Entrez autrement que par l'interface web, je me trompe??
    Encore une fois, désolée si ma question est bête, je débute en programmation

  4. #4
    Rédactrice

    Avatar de stoyak
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    408
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 408
    Points : 1 491
    Points
    1 491
    Par défaut
    regarde le module LWP ... tu peux récupérer des pages web distantes et parser les résultats pour récupérer ce qui t'intéresse.
    j'ai déjà fait ce genre de scripts ... si t'as besoin je te mettrai un exemple
    Cela demande du courage d'en tirer du plaisir
    Quand on n'a qu'un marteau, tous les problèmes ressemblent à un clou

  5. #5
    Membre éprouvé Avatar de Gardyen
    Homme Profil pro
    Bio informaticien
    Inscrit en
    Août 2005
    Messages
    637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bio informaticien

    Informations forums :
    Inscription : Août 2005
    Messages : 637
    Points : 1 050
    Points
    1 050
    Par défaut
    hum est ce que ce genre de script ne te serait pas utile ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    use Bio::Perl;
    use Data::Dumper; # pas nécessaire, affiche juste l'objet
     
    my $seq_object = get_sequence('genpept',"AAR29049");
     
    print Dumper $seq_object;
    récupéré dans le tutorial bioperl
    Nous les geeks, c'est pas qu'on a une case en moins, c'est juste qu'on compte à partir de zéro.
    Plus les choses changent, plus elles restent les mêmes

  6. #6
    Nouveau membre du Club
    Inscrit en
    Avril 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 38
    Points : 34
    Points
    34
    Par défaut
    et comme ça ? :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    use Bio::DB::GenPept;
     
    @liste_id = ('id1','id2'); # ta liste d'ID
     
    foreach $id(@liste_id) {
     
        $gb = new Bio::DB::GenPept;
        $seq = $gb->get_Seq_by_id($id); # Unique ID
     
    }
    et donc pour répondre a ta question la version de base de BioPerl devrait suffir

  7. #7
    Candidat au Club
    Inscrit en
    Février 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Merci à tous pour vos réponses!
    pour l'instant, la solution qui me parait la plus simple (vu mon niveau en perl ) et la plus adaptée, est celle de tygrou!

    Enfin a priori je vais tester ça dans la semaine, je vous tiendrai au courant!

    Merci encore!

  8. #8
    Candidat au Club
    Inscrit en
    Février 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Hello!

    J'ai testé les deux solutions (celle de Tygrou et de Gardyen).
    Je récupère bien quelque chose, mais j'ai plusieurs questions:
    - comment afficher ce que contient mon résultat? Lorsque je fais un print de ma variable j'obtiens
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Bio::Seq::RichSeq=HASH(0x8802edc)
    J'imagine donc qu'il s'agit d'une hashtable, et pour l'afficher j'utilise:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    use Bio::Perl;
    use Data::Dumper;
     
    $id = 30021471;
    $db = 'genpept';
     
     
    $seq_object =  get_sequence('genpept', $id);
     
    print Dumper $seq_object;
    Y'a t'il plus astucieux pour afficher le résultat de ma requête?

    et surtout, est-il possible de récupérer la fiche réellement au format Genpept tel qu'on l'obtient par le Batch entrez en ligne?

    Je pose cette question car nous avons déjà des outils programmés pour tourner sur le format Genpept...

    Merci pour vos réponses!

  9. #9
    Candidat au Club
    Inscrit en
    Février 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    J'ai oublié de préciser que j'utilise les fonctions existantes pour récupérer les données d'un champ particulier; par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $seq_object =  get_sequence('genpept', $id);
    $species = $seq_object->species;
    @classif = $species->classification;
     
    foreach(@classif){
        print $_."\n";
    }
    Mais c'est assez lourd si on doit le faire pour tous les champs, yaurait-il une façon de faire "itérative" ?

    J'espère être à peu près claire...

  10. #10
    Membre éprouvé Avatar de Gardyen
    Homme Profil pro
    Bio informaticien
    Inscrit en
    Août 2005
    Messages
    637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bio informaticien

    Informations forums :
    Inscription : Août 2005
    Messages : 637
    Points : 1 050
    Points
    1 050
    Par défaut
    Citation Envoyé par lilybambina
    est-il possible de récupérer la fiche réellement au format Genpept tel qu'on l'obtient par le Batch entrez en ligne?
    ca c'est pas dur il te suffit d'utiliser Bio::SeqIO

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    use Bio::Perl;
    use Data::Dumper;
     
    $id = 30021471;
    $db = 'genpept';
     
     
    $seq_object =  get_sequence('genpept', $id);
     
    print Dumper $seq_object;
     
    $out = Bio::SeqIO->new(-file => ">pathtooutputfile" , '-format' => 'GenBank');
    $out->write_seq($seq_object);
    Nous les geeks, c'est pas qu'on a une case en moins, c'est juste qu'on compte à partir de zéro.
    Plus les choses changent, plus elles restent les mêmes

  11. #11
    Candidat au Club
    Inscrit en
    Février 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Merci!!!

    Ca marche impec!
    J'ai regardé sur CPAN pour réellement comprendre ce que faisaient les deux lignes de code que tu as ajouté, et j'avoue que toute seule je n'aurais vraiment pas compris qu'il fallait procéder comme ça...

    Merci encore!

    ps: pour info le lien vers la page CPAN sur Bio::SeqIO: http://search.cpan.org/~birney/biope...4/Bio/SeqIO.pm

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

Discussions similaires

  1. Modules bioinformatiques bioperl CPAN
    Par djibril dans le forum Bioinformatique
    Réponses: 10
    Dernier message: 03/03/2009, 09h02
  2. [bioperl]parser un blast xml
    Par sohnic dans le forum Bioinformatique
    Réponses: 1
    Dernier message: 24/04/2007, 13h31
  3. récupération domaine protéique bioperl
    Par puce63 dans le forum Bioinformatique
    Réponses: 2
    Dernier message: 15/03/2007, 13h05
  4. [BioPerl] Run::Alignment::Clustalw erreur
    Par crochepatte dans le forum Bioinformatique
    Réponses: 2
    Dernier message: 24/01/2007, 12h09
  5. [bioinfo] NCBI et BioPerl et OO
    Par Jasmine80 dans le forum Bioinformatique
    Réponses: 12
    Dernier message: 27/10/2006, 14h30

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