Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1078 connectés 

  FORUM HardWare.fr
  Programmation
  Perl

  Formatage sequences en perl

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Formatage sequences en perl

n°2012159
chandlerbi​ng87
Posté le 27-07-2010 à 14:41:18  profilanswer
 

Bonjour,
 
Je possède des fichiers de cette forme :
 
                                                           10        20        30        40        50
    +11 R_2_32                  ATTTTCTTTTCGCTTCTAAAGATAGTAGATCTTTCAAAGATCGAT*****
    +20 J_4_35                  ATTTTCTTTTCGCTTCTAAAGATAGTAGATCTTTCAAAGATCGAT*****
 
et je voudrais les transformer comme ça :
 
>R_2_32
ATTTTCTTTTCGCTTCTAAAGATAGTAGATCTTTCAAAGATCGAT*****
>J_4_35
ATTTTCTTTTCGCTTCTAAAGATAGTAGATCTTTCAAAGATCGAT*****
 
Quelqu'un pourrait-il m'aider ?
 
Merci d'avance

mood
Publicité
Posté le 27-07-2010 à 14:41:18  profilanswer
 

n°2012162
gilou
Modérateur
Modzilla
Posté le 27-07-2010 à 15:05:26  profilanswer
 

:hello:  
1) Tu ouvres le fichier en entrée et ouvres un fichier de sortie
2) tu sautes la première ligne
3) tu fais pour les autres lignes une substitution s/^\s*\S+\s(\S+)\s+/\>$1\n/o et les envoie dans le fichier de sortie
Et ça devrait rouler.  
Avec des spécifications plus précises sur le format en entrée, on pourrait affiner.
A+,


Message édité par gilou le 27-07-2010 à 15:41:28

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2012164
chandlerbi​ng87
Posté le 27-07-2010 à 15:08:52  profilanswer
 

Merci beaucoup gilou (toujours là à la rescousse lol)
 
Je suis désolé d'abuser mais ça donne quoi en script ?
 
Merci

n°2012167
gilou
Modérateur
Modzilla
Posté le 27-07-2010 à 15:18:13  profilanswer
 

Euh, ici, c'est un forum d'entraide, pas un forum de fourniture de script tout fait, hein.
La c'est tellement basique à faire (a part l'expression régulière que j'ai donnée) qu'il faudrait voir à ne pas abuser, ca doit tenir en une dizaine de lignes au plus, le script.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2012174
chandlerbi​ng87
Posté le 27-07-2010 à 15:26:00  profilanswer
 

oui c'est vrai.....
Merci beaucoup pour tes conseils.
Je vais essayer de faire ça.
 
A+

n°2012179
gilou
Modérateur
Modzilla
Posté le 27-07-2010 à 15:40:55  profilanswer
 

Une version vite fait qui prend comme argument le fichier de donnée

Code :
  1. #!/usr/bin/perl
  2. while ( <> ) {
  3.    next if ($. == 1);
  4.    next if (/^\s*$/);
  5.    s/^\s*\S+\s(\S+)\s+/\>$1\n/o;
  6.    print;
  7. }
 

On peut faire plus court d'ailleurs:

Code :
  1. #!/usr/bin/perl
  2. while ( <> ) { print if (s/^\s*\S+\s(\S+)\s+/\>$1\n/o) }


A+,


Message édité par gilou le 27-07-2010 à 15:45:02

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2012209
chandlerbi​ng87
Posté le 27-07-2010 à 16:33:27  profilanswer
 

Merci infiniment !!!!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Perl

  Formatage sequences en perl

 

Sujets relatifs
[.bat] formatage supprimer "insere un nouveau disque pour le lecteur "perl Net::Telnet : comment choisir l'interface ?
[perl] le meilleur moyen pour ramener une valeur ?Est-ce possible en perl ?
[perl] Traitement de fichier .csv[perl] envoie de trap SNMPv3
enigme de \n en perlPasser d'une séquences à l'autre [flash]
Perl > remplacer texte dans fichiers, recursivementExecuter fonction oracle et récupérer résultat depuis perl (DBI)
Plus de sujets relatifs à : Formatage sequences en perl


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR