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

Modules Perl Discussion :

Problème avec le module Bio::Restriction::Analysis


Sujet :

Modules Perl

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

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Points : 2 673
    Points
    2 673
    Par défaut Problème avec le module Bio::Restriction::Analysis
    Quand j'essaie d'exécuter le code du CPAN
    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
    #!/usr/bin/perl -w
     
    use strict;
     
    use Bio::Restriction::Analysis;
     
     
     
    # get a DNA sequence from somewhere
    my $seq = Bio::PrimarySeq->new
    (-seq =>'CTAGCTTAATTCATTAGCTCTGACTGCAACGGGCAATATGTCTCAG',
    -is_circular => 1,		# plasmide
    -primary_id => 'synopsis',
    -molecule => 'dna');
     
     
    # now start an analysis.
    # this is using the default set of enzymes
    my $ra = Bio::Restriction::Analysis->new(-seq=>$seq, -is_circular => 1);
     
     
    # find unique cutters. This returns a
    # Bio::Restriction::EnzymeCollection object
    my $enzymes = $ra->unique_cutters;
    print "Unique cutters: ", join (', ', 
    	map {$_->name} $enzymes->unique_cutters), "\n";
    J'obtiens l'erreur
    Can't locate object method "unique_cutters" via package "Bio::Restriction::EnzymeCollection" at Restriction_analysis.pl line 32, <DATA> line 532.
    Cette méthode est pourtant bien décrite dans ce module. Quelle peut-être l'erreur?


    Merci.
    -- Jasmine --

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

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Points : 2 673
    Points
    2 673
    Par défaut
    Avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    use Data::Dumper;
    print Dumper "$enzymes\n";
    J'obtiens
    $VAR1 = 'Bio::Restriction::EnzymeCollection=HASH(0x1ee0a84
    -- Jasmine --

  3. #3
    Membre actif

    Profil pro
    Inscrit en
    Août 2009
    Messages
    156
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 156
    Points : 211
    Points
    211
    Par défaut
    Bonjour,
    Je pencherais vers un problème de référence ou d'objet vide, normalement un dump d'un hash te retourne le résultat direct du contenu, et un affichage type "HASH(0x1ee0a84" veut dire que tu affiche la référence d'un objet et non l'objet lui-même. Maitnenant ton code est bien celui de l'exemple de la doc ... :-(
    Je ne promets rien, mais j'essaye d'installer le module Bio sur mon PC ce soir pour pouvoir tester un peu, ça a l'air marrant. :-)

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

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Points : 2 673
    Points
    2 673
    Par défaut
    Citation Envoyé par 50Nio Voir le message
    Bonjour,
    Je pencherais vers un problème de référence ou d'objet vide, normalement un dump d'un hash te retourne le résultat direct du contenu, et un affichage type "HASH(0x1ee0a84" veut dire que tu affiche la référence d'un objet et non l'objet lui-même. Maitnenant ton code est bien celui de l'exemple de la doc ... :-(
    Je ne promets rien, mais j'essaye d'installer le module Bio sur mon PC ce soir pour pouvoir tester un peu, ça a l'air marrant. :-)
    Merci beaucoup, c'est très sympa de ta part. J'ai légèrement changé la séquence de départ afin de placer un site de restriction chevauchant le début et la fin de séquence mais le problème reste le même avec l'exemple de la doc.
    -- Jasmine --

  5. #5
    Membre actif

    Profil pro
    Inscrit en
    Août 2009
    Messages
    156
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 156
    Points : 211
    Points
    211
    Par défaut
    Bon, c'est un bon début, j'ai exactement le même problème avec le même code. :-)

    Pour continuer d'avancer:
    L'objet que tu récupère est un "Bio::Restriction::EnzymeCollection" décrit ici:
    http://search.cpan.org/~cjfields/Bio...eCollection.pm

    L'EnsymeCollection n'a pas de méthode unique_cutters donc l'erreur est normale:
    => l'exemple est faux
    => du coup je ne sais pas ce que tu veux faire mais il faut forcément s'y prendre autrement

    J'ai essayé ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    my $enzymes = $ra->unique_cutters;
    my @enzymes_unique = $enzymes->each_enzyme();
    print "Unique cutters: ", join (', ', 
    	map {$_->name} @enzymes_unique), "\n";
    En ajoutant une récupération de tous tes enzymes compris dans ta liste de "unique_cutters" enzymes.

    Ca me retourne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Unique cutters: AsuNHI, BfaI, BmtI, BstC8I, BstDEI, BstMWI, Cac8I, CviRI, DdeI, Hpy188I, HpyCH4V, HpyF10VI, MaeI, MseI, MwoI, NheI, Sse9I, TasI, Tru1I, Tru9I, Tsp509I, TspEI, XspI
    Par contre, fonctionnelement, je n'y comprend rien. :-) Le modèle objet Perl permet cette exécution mais je ne sais pas si c'est ce qu'il te fallait. :-)

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

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Points : 2 673
    Points
    2 673
    Par défaut
    Merci beaucoup c'est super sympa, c'est exactement ce que je voulais .

    Par contre, fonctionnelement, je n'y comprend rien.
    Fonctionnement au niveau du script : ^^ faudrait analyser le code pour comprendre ce qui se cache là derrière.


    Fonctionnement au sujet de l'utilité
    Enzyme de restriction
    Un article de Wikipédia, l'encyclopédie libre.

    Une enzyme de restriction est une protéine en biologie moléculaire qui peut couper un fragment d'ADN au niveau d'une séquence de nucléotides caractéristique appelée site de restriction. Chaque enzyme de restriction reconnait ainsi un site spécifique. Plusieurs centaines d'enzymes de restriction sont actuellement connues, on en retrouve naturellement un grand nombre d'espèces de bactéries.
    Il y a 532 enzymes coupant un nombre variable de fois, cette fonction permet de récupérer ceux qui coupent une fois la séquence entrée. Les enzymes de restriction sont utilisées en laboratoire afin d'analyser des séquences nucléiques, voir la taille des différents fragments obtenus après digestion enzymatique et ainsi caractériser le matériel sur lequel on travaille.

    Un super grand merci pour ton aide. Peut-être devrais-je écrire au CPAN pour les prévenir de cette erreur.
    -- Jasmine --

  7. #7
    Membre actif

    Profil pro
    Inscrit en
    Août 2009
    Messages
    156
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 156
    Points : 211
    Points
    211
    Par défaut
    Aucun souci, merci à toi pour les précisions. :-)
    Effectivement, tu peux signaler le problème comme un bug au CPAN car la doc est mauvaise.

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

Discussions similaires

  1. Problème avec le module Bio::Tools::Run::Phrap
    Par Jasmine80 dans le forum Modules
    Réponses: 1
    Dernier message: 17/05/2010, 11h23
  2. Réponses: 0
    Dernier message: 23/04/2009, 09h45
  3. Problème avec le module Bio-PrimerDesigner
    Par Jasmine80 dans le forum Modules
    Réponses: 1
    Dernier message: 19/01/2009, 16h11
  4. problème avec le module DBI
    Par vbcasimir dans le forum SGBD
    Réponses: 6
    Dernier message: 08/10/2005, 12h48
  5. problème avec un module
    Par vbcasimir dans le forum Modules
    Réponses: 2
    Dernier message: 29/08/2005, 15h59

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