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 /probleme primary_id et desc


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 /probleme primary_id et desc
    Bonjour,

    J'ai écris un script (Bio::SeqIO) qui me permet d' obtenir la taille de chacune de mes séquences. Mais voilà, j'ai à priori 104763 séquences mais mon script m'en compte 85673!!!!
    Quand je teste mon script avec la ligne
    $hash{$seq->primary_id} = $seq->seq; j'ai le bon nombre de séquences (104763) mais avec
    $hash{$seq->seq} = $seq->primary_id.$seq->desc ; j'ai le bon 85673 séquences

    je ne vois d'ou proviens le problème.

    MON FICHIER : ftp://ftp.ensembl.org/pub/release-74....cds.all.fa.gz

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    cat Homo_sapiens.GRCh37.74.cds.all.fa |awk ' { if($0 ~ /^>/){print $1;}}' | wc -l
       104763
    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
     
    my $in  = Bio::SeqIO->new(-file => "Homo_sapiens.GRCh37.74.cds.all.fa", '-format' => 'Fasta');
     
    my %hash;
    my $count; 
     
    while ( my $seq = $in->next_seq()){
     	$hash{$seq->seq} = $seq->primary_id.$seq->desc ;#pour récup la ligne entière 
    }
     
    foreach my $t (keys %hash){
    	$count++;
            my $taille=length($t);
    }
    #print "nb de sequences: $count\n; # je trouve 85673
    Quelqu'un aurait une suggestion?

  2. #2
    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
    tu as tout simplement des séquences identiques avec différents primary id
    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

  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.
    Tu veux dire des primary_id identique !!!

  4. #4
    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
    non, les primary id sont tous différents, vu que ce sont des identifiants. D'ailleurs tu obtiens bien toutes les séquences quand tu utilises $hash{$seq->primary_id}.
    Ce sont les séquences ADN qui ne sont pas forcément différentes, donc quand tu fais $hash{$seq->seq}, tu écrases en fait l'entrée précédente.

    Donc utilise plutôt les primary_id pour faire tes clés, c'est leur rôle après tout...
    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

Discussions similaires

  1. perl Bio::SeqIO=>récupérer la ligne entière
    Par pontarose dans le forum Bioinformatique
    Réponses: 2
    Dernier message: 16/02/2011, 11h26
  2. installation du package Bio::SeqIO::staden::read
    Par Jasmine80 dans le forum Modules
    Réponses: 0
    Dernier message: 12/08/2009, 15h38
  3. convertir un fichier fasta en format EMBL via Bio::SeqIO
    Par zaboug dans le forum Bioinformatique
    Réponses: 21
    Dernier message: 30/07/2009, 16h17
  4. Perl XML::Parser probleme installation
    Par morphee_xxx dans le forum Modules
    Réponses: 4
    Dernier message: 11/04/2009, 14h54
  5. [PERL] Win32::Ole 'probleme'
    Par Diabolikjo dans le forum Modules
    Réponses: 6
    Dernier message: 03/10/2008, 14h25

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