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 :

StandAloneBlast et bl2seq


Sujet :

Bioinformatique Perl

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2009
    Messages : 22
    Points : 19
    Points
    19
    Par défaut StandAloneBlast et bl2seq
    bonjour

    Je veux utilisé la fonction bl2seq, voici mon code ( code fournit par 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
    #use strict;
    use warnings;
    use Bio::Tools::Run::RemoteBlast;
    use Bio::DB::GenBank;
    use Bio::SeqIO;
    use Bio::Tools::StandAloneBlast;
     
     
    # Get 2 sequences
      $str = Bio::SeqIO->new(-file=>'input' , -format => 'Fasta');
      my $seq3 = $str->next_seq();
      my $seq4 = $str->next_seq();
     
      # Run bl2seq on them
      $factory = Bio::Tools::Run::StandAloneBlast->new(-program => 'blastn',
                                                       -outfile => 'bl2seq.out');
      my $bl2seq_report = $factory->bl2seq($seq3, $seq4);
     
      # Use AlignIO.pm to create a SimpleAlign object from the bl2seq report
      $str = Bio::AlignIO->new(-file=> 'bl2seq.out',-format => 'bl2seq');
      $aln = $str->next_aln();
    J'ai installé blast. J'obtiens ce message d'erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Can't locate Bio/Tools/StandAloneBlast.pm in @INC
    J'ai 2 questions : Pourquoi ça ne marche pas?
    et j'ai vu que bl2seq peut être utilisé avec AlignIO ou StandAloneBlast quelle est la différence ?

    Merci et bonne journée

  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
    Pour le module StandAloneBlast il te manque une partie (Run) pour que ce soit correct :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    use Bio::Tools::Run::StandAloneBlast;
    Pour ta deuxième question : voici un bout de doc du CPAN : "For bl2seq execution, StandAloneBlast.pm can be combined with AlignIO.pm to directly produce a SimpleAlign object from the alignment of the two sequences produced by bl2seq as in"...

    Grosso modo le module StandAloneBlast sert à lancer le programme bl2seq, et les flux d'entrée/sortie du programme bl2seq sont gérés par le module AlignIO.

    Un bonne lecture de la doc CPAN de ces deux modules te donneront plus de renseignements.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2009
    Messages : 22
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par Beniou Voir le message
    Grosso modo le module StandAloneBlast sert à lancer le programme bl2seq, et les flux d'entrée/sortie du programme bl2seq sont gérés par le module AlignIO.
    Merci

    sinon j'ai changé le RUN mais ça ne marche toujours pas , la compilation se fait mais je n'obtiens aucun résultat. j'ai "juste" un WARNING

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    -------------------- WARNING ---------------------
    MSG: cannot find path to bl2seq
    ---------------------------------------------------

  4. #4
    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
    Ce message veut dire qu'il ne trouve pas le chemin jusqu'à l'executable bl2seq pour exécuter Blast. Tu dois ajouter le répertoire contenant les exécutables de Blast (dont bl2seq) à ta variable d'environnement $PATH et/ou bien d'ajouter une variable d'environnement $BLASTDIR pointant vers ton répertoire d'installation de Blast.
    Ex: sous Unix dans un shell bash
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    export BLASTDIR=/chemin/vers/blast
    Sous Windows il faut passer par les paramètres systèmes puis variable d'environnement.

    Si tu as un soucis n'hésite pas.

  5. #5
    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
    Tu peux aussi directement passer le chemin vers l'exécutable en paramètre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $factory->executable("bl2seq", "C:/BLAST/bin/bl2seq.exe");
    Je te conseille d'enlever le dièse placé devant ton 'use strict' et de déclarer toutes tes variables avec 'my'.
    -- Jasmine --

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2009
    Messages : 22
    Points : 19
    Points
    19
    Par défaut
    Bonjour
    Citation Envoyé par Beniou Voir le message
    Sous Windows il faut passer par les paramètres systèmes puis variable d'environnement.
    ??

    Jasmine j'ai spécifié le chemin mais ça ne marche toujours pas...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Can't call method "executable" on an undefined value
    Merci

  7. #7
    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
    As-tu bien déclaré $factory au préalable?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    my $factory = Bio::Tools::Run::StandAloneBlast->new(-program => 'blastn',
                                                        -outfile => 'bl2seq.out');
     
    $factory->executable("bl2seq", "C:/BLAST/bin/bl2seq.exe");
    -- Jasmine --

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2009
    Messages : 22
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par Jasmine80 Voir le message
    As-tu bien déclaré $factory au préalable?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    my $factory = Bio::Tools::Run::StandAloneBlast->new(-program => 'blastn',
                                                        -outfile => 'bl2seq.out');
     
    $factory->executable("bl2seq", "C:/BLAST/bin/bl2seq.exe");
    Mes lignes de code étaient inversées

    Merci à tous

  9. #9
    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
    Ce que Beniou voulait dire avec les variables d'environnement est qu'une autre solution pour résoudre ton problème est de rajouter dans ta variable PATH le chemin vers l'exécutable Blast. Sous Windows cela se fait via : Panneau de configuration > Système > Avancé > Variables d'environnement.
    -- Jasmine --

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

Discussions similaires

  1. Blast module Bio::Tools::Run::StandAloneBlast
    Par Jasmine80 dans le forum Bioinformatique
    Réponses: 0
    Dernier message: 21/12/2009, 10h33

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