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 espace dans un fichier


Sujet :

Langage Perl

  1. #1
    Membre régulier
    Inscrit en
    Janvier 2010
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 257
    Points : 81
    Points
    81
    Par défaut Probleme espace dans un fichier
    Bonjour à tous,

    J'essais de manipuler un fichier de ce type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sequence:789                 26  5.34e-03 CGTGGGATCC CTGG TGGCCAGGAA 0.000100
    Sequence:788                 18  5.34e-03 CGTGGGATCC CTGG TGGCCAGGAA 0.000400
    Sequence:787                 26  5.34e-03 CACCGCCCAG CTGG AGCAGCAGGC 0.000200
    Sequence:786                 17  5.34e-03 CACCGCCCAG CTGG AGCAGCAGGC 0.000300
    Sequence:784                 26  5.34e-03 AGATCTACCG CTGG AACCCGGACA 0.002200
    Sequence:783                 19  5.34e-03 AGATCTACCG CTGG AACCCGGACA 0.001300
    Sequence:782                  9  5.34e-03   ATCTACCG CTGG AACCCGGACA 0.049700
    Sequence:781                 26  5.34e-03 CCCCATGGTG CTGG ACGCGCTGAT 0.000200
    Mais seulement, les espaces ne sont pas des tabulations, mais des espaces et il n'y a pas le meme nombre d'espace entre chaque colonne, du coup impossible d'utiliser un split .... tout est en un seul bloc.
    J'ai essayé de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #!/usr/bin/perl
    use strict;
    use warnings;
     
    my $fichier_fasta = 'result_memeris.txt';
    open my $fh, '<', $fichier_fasta or die "Impossible de lire le fichier $fichier_fasta\n";
    while ( my $ligne = <$fh> ) {
    	chomp $ligne;
    	my ($sequence, $number, $pvalue, $seq1, $seq2, $seq3, $prob) = split /\t/, $ligne;
    	print "$sequence\n";
      }
     
    close $fh;
    J'obtiens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sequence:789                 26  5.34e-03 CGTGGGATCC CTGG TGGCCAGGAA 0.000100
    Sequence:788                 18  5.34e-03 CGTGGGATCC CTGG TGGCCAGGAA 0.000400
    Sequence:787                 26  5.34e-03 CACCGCCCAG CTGG AGCAGCAGGC 0.000200
    Sequence:786                 17  5.34e-03 CACCGCCCAG CTGG AGCAGCAGGC 0.000300
    Sequence:784                 26  5.34e-03 AGATCTACCG CTGG AACCCGGACA 0.002200
    Sequence:783                 19  5.34e-03 AGATCTACCG CTGG AACCCGGACA 0.001300
    Sequence:782                  9  5.34e-03   ATCTACCG CTGG AACCCGGACA 0.049700
    Sequence:781                 26  5.34e-03 CCCCATGGTG CTGG ACGCGCTGAT 0.000200
    Sequence:780                 26  5.34e-03 CACCAACACG CTGG CCTGCATCAG -0.000000
    Sequence:779                 26  5.34e-03 GGTGCGCGAC CTGG TCCCGGACAT -0.000000
    Mais lorsque je fais en sorte d'afficher $number, je n'obtiens rien ....

    Quelqu'un pourrait m'aider à réorganiser ce fichier de facon à pouvoir manipuler facilement .... Merci d'avance ...
    Pour info, en faisant od -c sous unix j'obtiens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    0000000   S   e   q   u   e   n   c   e   :   7   8   9                
    0000020                                                       2   6    
    0000040       5   .   3   4   e   -   0   3       C   G   T   G   G   G
    0000060   A   T   C   C       C   T   G   G       T   G   G   C   C   A
    0000100   G   G   A   A       0   .   0   0   0   1   0   0  \n   S   e
    0000120   q   u   e   n   c   e   :   7   8   8                        
    0000140                                               1   8           5
    0000160   .   3   4   e   -   0   3       C   G   T   G   G   G   A   T
    0000200   C   C       C   T   G   G       T   G   G   C   C   A   G   G
    0000220   A   A       0   .   0   0   0   4   0   0  \n   S   e   q   u

  2. #2
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771

  3. #3
    Membre régulier
    Inscrit en
    Janvier 2010
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 257
    Points : 81
    Points
    81
    Par défaut
    merci cela fonctionne;

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

Discussions similaires

  1. probleme ecriture dans un fichier
    Par Septembre84 dans le forum Langage
    Réponses: 6
    Dernier message: 19/05/2008, 16h29
  2. Gérer un espace dans un fichier BAT
    Par kendot dans le forum Windows
    Réponses: 1
    Dernier message: 18/09/2007, 12h05
  3. Réponses: 1
    Dernier message: 12/12/2006, 19h31
  4. probleme espace dans bloc div
    Par piff62 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 29/04/2005, 17h39
  5. [debutant] preservation des espace dans un fichier xml
    Par Eric B dans le forum XML/XSL et SOAP
    Réponses: 7
    Dernier message: 03/09/2003, 10h43

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