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 :

hash pour compter occurence dans un fichier


Sujet :

Langage Perl

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2009
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 38
    Points : 20
    Points
    20
    Par défaut hash pour compter occurence dans un fichier
    Bonjour à tous,
    Je suis novice en Perl et je rencontre une difficulté :

    J'ai un fichier qui ressemble à ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    chr2L	5123	5153	AACC_1	0	+
    chr2L	5506	5523	CTCA_1	0	+
    chr2L	5506	5520	ATCC_1	0	+
    chr2L	5552	5581	GAGT_3	0	+
    chr2L	5552	5580	GAGT_378	0	+
    chr2L	5719	5746	TACA_3	0	-
    chr2L	11135	11173	ATGT_227	0	-
    chr2L	11325	11340	TCCC_57	0	-
    chr2L	11935	11977	CACA_17	0	-
    chr2L	11934	11977	CACA_353	0	-
    Et je souhaiterai obtenir le nombre d'occurence pour chaque position start (2é colonne).
    Par exemple, je voudrais obtenir une 7é colonne avec un chiffre correspondant au nombre de fois où j'ai la meme position start (2é colonne) dans mon fichier.
    J'ai donc écrit ce petit script dans le but d'avoir pour chaque position start le nombre d'occurence dans le fichier :
    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
    #!/usr/bin/perl
    use strict;
    use warnings;
     
    my $fichier = 'monfichier.txt';
    open my $fh, '<', $fichier or die "Impossible de lire le fichier $fichier\n";
    while ( my $ligne = <$fh> ) {
    	chomp $ligne;
    	my ($chromosome,$start,$stop,$ID,$else,$sens ) = split "\t", $ligne;
    	my @texte = $start;
    	my %comptage = ();
    	foreach my $mot (@texte) {
    		if( exists( $comptage{$mot} ) ) {
    			$comptage{$mot}++;
    	}
    		else {
    			$comptage{$mot} = 1 ;
     
    		}
    	}
     
     
    }
    close $fh;
    Mais cela ne fonctionne pas; quelqu'un pourrait m'aider ?

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 9
    Points : 12
    Points
    12
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    #!/usr/bin/perl
    use strict;
    use warnings;
     
    my $fichier = 'monfichier.txt';
    open my $fh, '<', $fichier or die "Impossible de lire le fichier $fichier\n";
    my %comptage ;
    while ( <$fh> ) {
    	chomp ;
    	my ($chromosome,$start,$stop,$ID,$else,$sens ) = split "\t", $_;
    	$comptage{$start} ++;
    }
    close $fh;
    Non ?

  3. #3
    Membre à l'essai
    Inscrit en
    Décembre 2009
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 38
    Points : 20
    Points
    20
    Par défaut
    Merci beaucoup pour votre aide !!

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

Discussions similaires

  1. [PowerShell] Compter le nombre d'occurences dans un fichier en Powershell
    Par olivierjouanno dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 17/02/2014, 18h13
  2. Réponses: 3
    Dernier message: 19/02/2010, 09h28
  3. Réponses: 2
    Dernier message: 15/06/2009, 18h41
  4. compter les occurences dans un fichier avec fgetc
    Par deathsurfer dans le forum C
    Réponses: 21
    Dernier message: 21/01/2007, 13h44
  5. Comptage d'occurences dans un fichier
    Par bonjour69 dans le forum Réseau
    Réponses: 25
    Dernier message: 11/11/2005, 17h24

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