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 :

Bio::DB::Fasta -- Fast indexed access to a directory of fasta files


Sujet :

Bioinformatique 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 Bio::DB::Fasta -- Fast indexed access to a directory of fasta files
    Bonjour,


    J'ai un problème avec le module Bio::DB::Fasta -- Fast indexed access to a directory of fasta files

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      use Bio::DB::Fasta;
     
      # create database from directory of fasta files
      my $db      = Bio::DB::Fasta->new('/path/to/fasta/files');
    $db = Bio::DB::Fasta->new($fasta_path [,%options])

    $fasta_path may be an individual Fasta file, or may refer to a directory containing one or more of such files.

    J'arrive à créer une DB à partir d'un fichier fasta mais pas d'un répertoire. Savez-vous si cela est possible? Et si oui comment faire? J'ai essayé avec des simples et des doubles quotes, en terminant ou non avec un slash mais le répertoire n'est pas reconnu.

    A partir d'un fichier, cela fonctionne sans problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my $db  = Bio::DB::Fasta->new("P:/Theorie/Cathy/PCR_multiplex/Complete_Genome_GB/16S_23S/Species/16S_23S/Bacillus_weihenstephanensis_16S_23S.txt");
    mais cela ne fonctionne plus si je donne en entrée un répertoire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my $db  = Bio::DB::Fasta->new("P:/Theorie/Cathy/PCR_multiplex/Complete_Genome_GB/16S_23S/Species/16S_23S/");

    ------------- EXCEPTION -------------
    MSG: no fasta files in P:/Theorie/Cathy/PCR_MU~1/COMPLE~3/16S_23S/Species/16S_23S/
    STACK Bio::DB::Fasta::index_dir C:/Perl/site/lib/Bio/DB/Fasta.pm:550
    STACK Bio::DB::Fasta::new C:/Perl/site/lib/Bio/DB/Fasta.pm:484
    STACK toplevel Bio_DB_Fasta.pl:10

    --------------------------------------

    Merci,
    -- Jasmine --

  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,

    Tu devrais préciser l'option glob car par défaut la fonction ne recherche que des fichiers ayant une certaine extension (.fa .fasta etc.)
    Tiré de la doc du CPAN
    -glob Glob expression to use for searching for Fasta files in directories. *.{fa,fasta,fast,FA,FASTA,FAST,dna}
    Donc comme tes fichiers ont appremment une extension en .txt il ne les prend pas en compte. Ou alors tu peux renommer tes fichiers à toi de voir.

  3. #3
    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 pour ta réponse mais le problème ne vient pas de là :

    J'obtiens la même erreur si je travaille avec des fichiers dont l'extension est .fsa
    ------------- EXCEPTION -------------
    MSG: P:/Theorie/Cathy/PCR_multiplex/Complete_Genome_GB/16S_23S/Species/16S/*.fsa: Invalid file or dirname
    STACK Bio::DB::Fasta::new C:/Perl/site/lib/Bio/DB/Fasta.pm:490
    STACK toplevel Bio_DB_Fasta.pl:9

    --------------------------------------

    De plus ce module fonctionne très bien sur un fichier .txt ainsi que sur un fichier .fsa tant que celui-ci est unique. Dès que j'essaie de passer un répertoire, cela plante.


    Nb : j'ai aussi essayé avec des fichiers dont l'extension était .fa
    -- Jasmine --

  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
    Si tu regardes bien ce n'est pas la même erreur : au début il ne trouvait pas de fichiers fasta dans ton répertoire. Maintenant il dit que "P:/Theorie/Cathy/PCR_multiplex/Complete_Genome_GB/16S_23S/Species/16S/*.fsa" n'est pas un fichier ou un répertoire.

    Est-ce que par hasard tu n'aurais pas mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    my $db  = Bio::DB::Fasta->new("P:/Theorie/Cathy/PCR_multiplex/Complete_Genome_GB/16S_23S/Species/16S_23S/*.fsa");
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    my $db  = Bio::DB::Fasta->new("P:/Theorie/Cathy/PCR_multiplex/Complete_Genome_GB/16S_23S/Species/16S_23S/");
    si tu as des fichiers fasta qui ont les bonnes extensions (.fa, .fas etc.)

    ou alors sit tu veux prendre des fichiers .txt en plus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    my $db  = Bio::DB::Fasta->new("P:/Theorie/Cathy/PCR_multiplex/Complete_Genome_GB/16S_23S/Species/16S_23S/", -glob => "*.{fa,fas,fsa,fasta,txt}");

  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
    J'ai volontairement changé de répertoire afin d'en prendre un où il y avait des fichiers .fsa


    Voila ce qui fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my $db  = Bio::DB::Fasta->new("P:/Theorie/Cathy/PCR_multiplex/Complete_Genome_GB/16S_23S/Species/16S/Bacillus_amyloliquefaciens_16S_revcom.fsa");
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my $db  = Bio::DB::Fasta->new("P:/Theorie/Cathy/PCR_multiplex/Complete_Genome_GB/16S_23S/Species/16S/Bacillus_amyloliquefaciens_16S_revcom.txt");
    .txt est une extension possible du format fasta quand on ne renseigne qu'un seul fichier par contre les fichiers .txt ne sont plus reconnus si on passe en argument un répertoire. c'est curieux


    Par contre tu as raison, mon erreur est bien de faire un *fsa cela fonctionne maintenant grâce à toi

    Et ton astuce avec le glob fonctionne très bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my $db  = Bio::DB::Fasta->new("P:/Theorie/Cathy/PCR_multiplex/Complete_Genome_GB/16S_23S/Species/16S_23S/", -glob => "*.{fa,fas,fsa,fasta,txt}");
    Un super grand merci, mon problème est résolu
    -- Jasmine --

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

Discussions similaires

  1. Bio::Seq::IO probleme d'accession a as_feat.
    Par loula427 dans le forum Bioinformatique
    Réponses: 2
    Dernier message: 09/12/2013, 13h19
  2. [AC-2002] Access et Active Directory
    Par Didier L dans le forum Sécurité
    Réponses: 0
    Dernier message: 28/12/2010, 18h15
  3. [AC-2007] Liaison entre access et Active directory
    Par charlingals1 dans le forum Access
    Réponses: 5
    Dernier message: 20/12/2010, 17h01

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