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

Langage Perl Discussion :

probleme affichage valeur hash


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Janvier 2010
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 257
    Par défaut probleme affichage valeur hash
    Bonjour à tous,
    J'ai écris le code ci dessous de façon à parcourir un fichier fait comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    chromosome	strand	read_start	read_end	genome_reference_type	barcode	read_sequence
    chr2L	+	5123	5152	g	AACC	TTATGCGCGAGTAGTGCCAACATATTGTGA
    chr2L	+	5506	5519	g	ATCC	ATAATGACTGCCTT
    chr2L	+	5506	5522	g	CTCA	ATAATGACTGCCTTTCA
    chr2L	+	5552	5579	g	GAGT	AATGACAATGCACGACATAGAGAGAAAG
    chr2L	+	5552	5579	g	GAGT	AATGACAATGCACGACATAGAGAGAAAG
    chr2L	+	5552	5579	g	GAGT	AATGACAATGCACGACATAGAGAGAAAG
    chr2L	+	5552	5579	g	GAGT	AAGGACAAAGCACGACATAGAGAGAAAG
    et de me donner la sequence qui se retrouve le plus grand nombre de fois pour chaque (chr,start,stop,sens,barcode).

    Donc pour l'exemple ci dessus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    chr2L	+	5123	5152	g	AACC	TTATGCGCGAGTAGTGCCAACATATTGTGA
    chr2L	+	5506	5519	g	ATCC	ATAATGACTGCCTT
    chr2L	+	5506	5522	g	CTCA	ATAATGACTGCCTTTCA
    chr2L	+	5552	5579	g	GAGT	AATGACAATGCACGACATAGAGAGAAAG
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    #!/usr/bin/perl
    use strict;
    use warnings;
    use Carp qw(confess);
    use Getopt::Long;
     
    my $AF_class;
    my $AF_out;
    my %hash;
     
    GetOptions("file=s" => \$AF_class);
    #, "out=s" => \$AF_out
     
     
    open(my $fh,'<',$AF_class) or die "$AF_class : $!\n\n";
    #open(my $fh_out,'>',$AF_out) or die "$AF_out : $!\n\n";
     
    while (<$fh>){
    	chomp;
    	if ($_ =~ m/^chr\d/ || $_ =~ m/^chrX/ || $_ =~ m/^chrY/ || $_ =~ m/^chrU/  ){
    		my($chr,$strand,$start,$stop,$gt,$barcode,$sequence)= split /\t/,$_;
    		if ($gt eq 'g'){
    			$hash{join(';',$chr,$start,$stop,$strand,$barcode)}{$sequence}++;
    		}		
    	}
    }
     
    foreach my $v (sort keys(%hash)){
    	foreach my $seq (keys %{$hash{$v}}){
    		foreach my $nb (keys %{$hash{$v}{$seq}}){
    			print "$v\t$seq\t$nb\n";
    		}
    	}
     
    }
    close($fh);
    Mais j'obtiens l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Can't use string ("1") as a HASH ref while "strict refs" in use at Sread.pl line 30, <$fh> line 4449753.
    Quelqu'un peut m'aider ?

  2. #2
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Par défaut
    En ligne 30, tu tentes de de-référencer comme une table de hashage une valeur numérique qui compte les occurrences de la $seq pour le $v, comme l'indique ta ligne 23 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $hash{join(';',$chr,$start,$stop,$strand,$barcode)}{$sequence}++;
    $hash{$v}{$seq} est un nombre, pas une référence de hash.

Discussions similaires

  1. [Débutant] Probleme ComboBox 2 Colonnes avec String, Affichage Valeur TextBox
    Par superthx dans le forum VB.NET
    Réponses: 4
    Dernier message: 05/09/2014, 10h29
  2. Réponses: 0
    Dernier message: 22/10/2009, 10h55
  3. Réponses: 3
    Dernier message: 08/08/2008, 13h05
  4. probleme affichage valeur d'un Jslider
    Par cflo91 dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 06/05/2007, 22h22
  5. []probleme affichage valeur dans combobox
    Par gup dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 23/09/2005, 09h22

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