Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 22/01/2010, à 18:20

wizard67370

Expression régulière avec au moins 1 erreur toléré ?

Bonjour à vous tous. Ca fait 3 mois maintenant que j'utilise ubuntu.
Je suis biologiste je cherche actuellement a développé un petit logiciel mais voilà j'ai un problème avec une expressions régulière que je cherche à faire.

En faite, je voudrais que grep me cherche une séquence (allant de 15 à 25 caractère) dans un génome (là rien de bien compliqué).
Là ou ca se corse, c'est que j'aimerai introduire une notion de variabilité. A savoir que 1 des caractères dans n'importe quels position peut changer.

Par exemple considérons ce mot.
AAAAA
j'aimerais que grep puisse me trouver AAAAA mais également [AGTC]AAAAA ou A[AGTC]AAAA ou AA[AGTC]AA ou AAA[AGTC]A ou AAAA[AGTC].

Pour l'instant je ne sais utilisé que
grep, more, tr, sed, wget. Je sais c'est pas beaucoup donc si vous me proposez un autre programme que celà, pourriez vous m'expliquez (en vulgarisant un peu) ? Je ne demande qu'à apprendre.

Je vous remercie tous d'avance pour votre aide.

Cordialement.

Hors ligne

#2 Le 22/01/2010, à 18:36

snapshot

Re : Expression régulière avec au moins 1 erreur toléré ?

L'ADN et les codons, c'était justement le sujet de mon mémoire :-)

Tu as trouvé la solution toi-même, avec la liste de "ou".
La regexp à utiliser est :

[AGTC]AAAAA|A[AGTC]AAAA|AA[AGTC]AA|AAA[AGTC]A|AAAA[AGTC]

Le symbole | (pipe) voulant dire "ou".

Mais il y a plusieurs pièges :
- grep, tout d'abord. Il existe deux principale syntaxe de regexp. La moderne et l'ancienne. Je te conseille d'utiliser la version moderne, en utilisant egrep au lieu de grep (ou si tu tiens à grep, utilises grep -E, ce qui revient au même. Avec l'ancienne syntaxe, la regexp devient un truc aussi illisible que :

\[AGTC\]AAAAA\|A\[AGTC\]AAAA\|AA\[AGTC\]AA\|AAA\[AGTC\]A\|AAAA\[AGTC\]

Avec l'ancienne syntaxe, les caractère [], |, et bien d'autres, perdent leur signification. Il faut les préfixer par \ pour qu'ils la retrouvent. Du coup la regexp est truffée de \ et devient illisible. Avec la nouvelle syntaxe, c'est exactement l'inverse : il faut mettre \ pour enlever la signification spéciale de ces caractères.

- le shell, mais je pense que tu le sais déjà. Le pipe est utilisé par le shell. Il faudra donc que tu mettes toute la regexp entre quote pour éviter qu'il se méprenne sur la signification de la ligne :

egrep '[AGTC]AAAAA|A[AGTC]AAAA|AA[AGTC]AA|AAA[AGTC]A|AAAA[AGTC]'

Avec cette méthode, tu pourras trouver des motifs relativement simples, mais elle est peu extensible. Si tu veux par exemple 2 erreurs, la longueur de la regexp à écrire devient exponentielle...
Il faudrait trouver un système de regexp spécialisé pour l'ADN

Dernière modification par snapshot (Le 22/01/2010, à 18:53)


Pensez à mettre [Résolu] dans le titre une fois votre problème réglé !

Hors ligne

#3 Le 22/01/2010, à 18:49

snapshot

Re : Expression régulière avec au moins 1 erreur toléré ?

Pour les autres commandes du shell, je te conseille de lire la bible du shell en ligne :
http://abs.traduc.org/abs-fr/ch15.html


Pensez à mettre [Résolu] dans le titre une fois votre problème réglé !

Hors ligne

#4 Le 22/01/2010, à 20:28

wizard67370

Re : Expression régulière avec au moins 1 erreur toléré ?

En faite, j'aimerais justement éviter de taper 15 fois la même expression (en changeant à chaque fois 1 lettre).
En gros faire que grep (ou egrep) cherche l'oligo recherché et qu'il tolère 1 seul changement de caractère.

La séquence AAAAA n'était qu'un exemple. Je suis en train de faire un shell script ou l'utilisateur rentrera l'oligo qu'il souhaite sans avoir à écrire l'expression X fois.
Par exemple: si j'écris "science", qu'il intégre automatique ".cience", "s.ience", "sc.ence" , "sci.nce" etc sans que j'ai besoin de l'écrire.

EDIT: J'avais éventuellement pensé à ce que quand tu tape l'oligo, il compte le nombre caractère ( avec wc -o). Il copie colle la séquence X fois le nombre de caractère (histoire de générer une liste mais je sais pas encore faire (je lis le lien vais surment trouver)). Enfin avec sed, demandé qu'il remplace l'expression 1 (admettons science) par l'expression .cience, puis pour le second il remplace l'expression 1 (science) par s.ience etc... le nombre de fois nessaire.

Voilà aprés c'est devrait pas être compliqué avec egrep.

Merci pour le lien, c'est surper interressant. Je crois que je vais encore passé une nuit blanche lol.

Dernière modification par wizard67370 (Le 22/01/2010, à 20:45)

Hors ligne

#5 Le 22/01/2010, à 20:43

nesthib

Re : Expression régulière avec au moins 1 erreur toléré ?

bonjour wizard67370, je suis également biologiste et j'ai également commencé à développer mes scripts en bash. Je me suis rapidement trouvé limité par une syntaxe non adaptée. Puis j'ai découvert Biopython. Tu trouveras tout un tas de modules de Biopython qui font déjà ce que tu cherches à coder (j'avais fait des scripts pour manipuler les séquences). Le nom du paquet est python-biopython (il y a un version perl si tu préfères).
Pour faire de l'alignement tu as la possibilité d'utiliser les programmes du NCBI en local en installant le paquet blast2.
Pour le design d'oligos tu as primer3 disponible également dans les dépôts mais aussi (et c'est plus facile pour l'utiliser) via une page web.

Si tu es intéressé j'ai quelques scripts maison pour de la biomol.

edit : je ferais bien une page de doc tiens…

Dernière modification par nesthib (Le 22/01/2010, à 20:45)


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#6 Le 22/01/2010, à 20:45

grim7reaper

Re : Expression régulière avec au moins 1 erreur toléré ?

Salut,

wizard67370 a écrit :

En faite, j'aimerais justement éviter de taper 15 fois la même expression (en changeant à chaque fois 1 lettre).
En gros faire que grep (ou egrep) cherche l'oligo recherché et qu'il tolère 1 seul changement de caractère.

La séquence AAAAA n'était qu'un exemple. Je suis en train de faire un shell script ou l'utilisateur rentrera l'oligo qu'il souhaite sans avoir à écrire l'expression X fois.

Pas sur que ça soit réalisable avec grep (mais bon je peux me tromper je ne suis pas un spécialiste du grep), en tout cas ça ne me semble pas trivial.

Sinon, je ne sais pas ce que tu développes comme logiciel mais il y a des langages bien plus adapté pour la bioinformatique.
Si c'est juste un petit script, le bash peut faire l'affaire. Mais si tu veux faire un truc sérieux alors fuis le bash (c'est pas fait pour ça ,c'est pas portable et pas souple non plus).

Donc pour coder un bon truc en bioinfo je te conseillerais plutôt le Perl et ses extensions BioPerl (http://www.bioperl.org/wiki/Main_Page) ou alors le Python et sa bibliothèque BioPyhon (http://biopython.org/wiki/Main_Page).
Ces 2 langages fournissent des fonctions qui permettent de manipuler facilement les séquences, parser des fichier (FASTA, EMBL, Interpro, etc.) et d'utiliser de nombreux outils (les différents blast par exemple).

Bon après je ne sais pas ce que tu compte créer, ni ton niveau en informatique. Mais si ça t'intéresses ça reste des langages relativement simple à apprendre.

Edit :grillé par nesthib tongue

Dernière modification par grim7reaper (Le 22/01/2010, à 20:46)

Hors ligne

#7 Le 22/01/2010, à 20:51

snapshot

Re : Expression régulière avec au moins 1 erreur toléré ?

J'ai beau chercher, je ne vois pas comment avec une regexp tolérer la moindre erreur, autrement qu'en faisant une liste de OU. Les regexp ne sont pas forcément adaptées à ce genre de recherche. Si tu y tiens absolument (sans utiliser les solutions données plus haut par les autres intervenants), je ferai un petit script qui calcule automatiquement une regexp liée à une séquence ADN avec au choix une, deux, ou trois erreurs dedans. Cette regexp serait ensuite passée à egrep via l'opérateur $() ou `backtick` du shell. Elle pourrait devenir relativement longue, mais ce doit plus être un problème pour nous que pour la machine.


Pensez à mettre [Résolu] dans le titre une fois votre problème réglé !

Hors ligne

#8 Le 22/01/2010, à 20:55

wizard67370

Re : Expression régulière avec au moins 1 erreur toléré ?

Merci je vais voir.
En faite, je travail en biologie de l'environnement.
J'utilise des séquences d'oligo spécifique d'un certaine classe de bactérie.
Je developpe donc un script qui me permet de télécharger automatique les génomes sur ncbi.
De rechercher génomes par génomes si mes amorces fonctionnerais.
Si celà fonctionne, mv le génome en question vers un autre dossier, sinon rm.
J'aurai ainsi une liste d'organisme chez qui mes oligos fonctionnerais. Je pourrais alors contrôler si mes amorces sont toujours spécifique de mes organismes.

Voilà, le seul problème, c'est que j'ai remarqué que même chez des amorces universelle il pouvait y avoir une tolérance de 1 nucléotide, et que ca pouvait être n'importe lequel (même si un consensus a été fixé).

(eDiT: Vous êtes super réactif sur ce forum, j'ai même pas le temps d'écrire que j'ai déjà 15 réponses lol. un grand merci, je crois que j'ai beaucoup de lecture du coup.)

Dernière modification par wizard67370 (Le 22/01/2010, à 20:59)

Hors ligne

#9 Le 22/01/2010, à 21:04

nesthib

Re : Expression régulière avec au moins 1 erreur toléré ?

@wizard67370
avec biopython tu as la possibilité d'interroger directement les bases de données de séquences (ex. NCBI, Expasy, PDB…) et de récupérer automatiquement les séquences (enfin faut coder le script wink) et surtout de manipuler tes séquences comme tu le veux
avec biopython ou blast tu peux faire tes alignements
avec python tu peux faire tout le reste (lecture fichiers, écriture, déplacement, création répertoires…)
avec primer3 tu peux faire des alignements adaptés au oligonucléotides avec possibilité de choisir différentes tolérances.


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#10 Le 22/01/2010, à 22:20

Totor

Re : Expression régulière avec au moins 1 erreur toléré ?

Bonsoir,

wizard67370 a écrit :

En faite, j'aimerais justement éviter de taper 15 fois la même expression (en changeant à chaque fois 1 lettre).
En gros faire que grep (ou egrep) cherche l'oligo recherché et qu'il tolère 1 seul changement de caractère.

Alors en fait, c'est assez simple et il ne faut pas passer par la recherche de toutes les combinaisons possibles.
Pré-requis : tu as déjà vérifié que ton mot fait entre 15 et 25 caractères. En fait, ce n'en est pas vraiment un mais je considère que tu as déjà la solution. Si ce n'est pas le cas, fait-le savoir.


Bon, pour ton problème, en gros, tu as donné la piste de la solution : "[..] tolère 1 seul changement de caractère"
Cela signifie qu'il ne peut y avoir que 2 caractères distincts dans ton mot.
Le tout est donc de compter le nombre de caractères qui diffèrent.
Pour cela, on peut s'appuyer sur l'outil uniq. mais pour cela il faut :
1 : transformer ton mot en autant de ligne qu'il y a de lettre (uniq travaille avec des lignes)
2 : trier les lignes par ordre alphabétique (pour trouver les éléments distincts, il faut que le flux soit trié)

Pour transformer ton mot en ensemble de lignes, on peut utiliser sed avec l'idée de transformer chaque caractère par lui même avec en plus un retour à la ligne.
Pour trier les lignes, il ya l'instruction sort.

Cela donne (je considère que tu travailles avec une variable contenant ta chaine):

mot="AAADAAAAAAAAAAA"
sed -r 's/(.)/\1\n/g' <<< "${mot}"|sort|uniq

La transformation du dernier caractère du mot en ligne provoque la création d'une ligne vide (en 1ère position après le tri). 2 solutions :
1 - on la supprime (sed fera l'affaire)

sed -r 's/(.)/\1\n/g' <<< "${mot}"|sort|uniq|sed '1d'

2 - on la conserve en tolérant cette ligne comme 3ème caractère. Il faudra donc que le nombre de ligne soit <=3 (et non pas <=2)

Maintenant que l'on a toutes les lettres (sous forme de ligne) de la séquence, on les compte :
(sans suppression de la 1ère ligne vide) :

mot="AAADAAAAAAAAAAA"
nb_lettre=$(sed -r 's/(.)/\1\n/g' <<< "${mot}"|sort|uniq|wc -l)
((${nb_lettre} <= 3 )) && echo "${mot} est correcte \!" || echo "${mot} n'est pas correcte \!"

Voilà !

Pour le reste, puisque tu ne demandes qu'à apprendre, je te conseille de suivre les recommandations de nesthib


-- Lucid Lynx --

Hors ligne

#11 Le 22/01/2010, à 23:03

nesthib

Re : Expression régulière avec au moins 1 erreur toléré ?

@Totor : je pense que tu n'as pas compris la demande de wizard67370 (bon, pour ta défense il faut connaître un minimum de génétique wink).

si l'on prend l'exemple d'une séquence ADN, codée par 4 lettre différents (A,C,G,T) :

catgtacccgattcgcgatattcttcatgagcgtcatgcgcatgctcgcattgatcgcagt

ce que veut wizard67370 c'est déterminer si une séquence courte donnée (ex. cgctatat) est contenue dans la première séquence avec au maximum une erreur (=une mutation ou un ajout/suppression)

catgtacccgattcgcgatattcttcatgagcgtcatgcgcatgctcgcattgatcgcagt
             ||| ||||
             cgctatat

Les alignements de séquence ne reposent pas sur des expressions rationnelles mais sur des algorithmes calculant la meilleure corrélation entre les 2 séquences grâce à un système de pénalités en cas de non correspondance (il existe différentes matrices) ce que fait parfaitement blast par exemple.
voir ici pour une explication → http://en.wikipedia.org/wiki/Sequence_alignment


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#12 Le 22/01/2010, à 23:29

sputnick

Re : Expression régulière avec au moins 1 erreur toléré ?

Qq'un a un Alka-Seltzer ? neutral


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#13 Le 22/01/2010, à 23:37

nesthib

Re : Expression régulière avec au moins 1 erreur toléré ?

@sputnick : il dit qu'il voit pas le rapport


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#14 Le 22/01/2010, à 23:44

Totor

Re : Expression régulière avec au moins 1 erreur toléré ?

effectivement ce n'est pas ce que j'avais compris ! qd a la génétique, ça date d'il y a 15 ans yikes
Pour le reste, ça reste tout aussi simple. Il "suffit" de convertir le mot et la séquence en code ascii binaire et de faire des comparaisons de type "ET" en procédant à des décalages de byte jusqu'à obtenir ke des 1 ou 1 seul 0. c possible en bash mais je ne pourrais pas fournir 2 code avant lundi hmm relèveras-tu le défi ?;):D:P


-- Lucid Lynx --

Hors ligne

#15 Le 22/01/2010, à 23:50

nesthib

Re : Expression régulière avec au moins 1 erreur toléré ?

@Totor : en fait ce n'est pas si simple que ça, il y a tout un système de pénalités, différents algorithme selon que l'on utilise différents types de séquences (voir la page wikipédia pour vulgarisation)


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#16 Le 24/11/2010, à 13:16

nordinatueur

Re : Expression régulière avec au moins 1 erreur toléré ?

Sinon il y a agrep dans les dépôts, avec l'option -B :

man a écrit :

       -y     Used  with  -B  option. When -y is on, agrep will always output the
              best matches without giving a prompt.

       -B     Best match mode.  When -B is specified and  no  exact  matches  are
              found,  agrep  will  continue  to  search until the closest matches
              (i.e., the ones with minimum number of errors) are found, at  which
              point the following message will be shown: "the best match contains
              x errors, there are y matches, output them? (y/n)" The  best  match
              mode  is  not  supported  for standard input, e.g., pipeline input.
              When the -#, -c, or -l options are  specified,  the  -B  option  is
              ignored.   In  general,  -B  may be slower than -#, but not by very
              much.

       -Dk    Set the cost of a deletion to k (k is a  positive  integer).   This
              option does not currently work with regular expressions.

       -G     Output the files that contain a match.

       -Ik    Set  the cost of an insertion to k (k is a positive integer).  This
              option does not currently work with regular expressions.

       -Sk    Set the cost of a substitution to k  (k  is  a  positive  integer).
              This option does not currently work with regular expressions.

....

       Combination of exact and approximate matching
              any pattern inside angle brackets <> must match  the  text  exactly
              even  if  the  match  is  with  errors.  For example, <mathemat>ics
              matches mathematical with one error (replacing the last s  with  an
              a),  but  mathe<matics>  does  not match mathematical no matter how
              many errors we allow.

....
       agrep -1 -D2 -S2 'ABCD#YZ' foo
              outputs the lines containing ABCD followed, within  arbitrary  dis‐
              tance, by YZ, with up to one additional insertion (-D2 and -S2 make
              deletions and substitutions too "expensive").
....
       agrep -d '$$' -1 '<word1> <word2>' foo
              finds all paragraphs that contain word1 followed by word2 with  one
              error  in  place of the blank.  In particular, if word1 is the last
              word in a line and word2 is the first word in the next  line,  then
              the  space  will  be  substituted  by  a newline symbol and it will
              match.  Thus, this is a way to overcome separation  by  a  newline.
              Note that -d '$$' (or another delim which spans more than one line)
              is necessary, because otherwise agrep searches only one line  at  a
              time.

Je pense que cela peut t'être utile :
Surtout avec les option -D et -I, si tu veux juste une subistution. (-D2 indique qu'un suppression vaut 2 erreurs...)

Par exemple, si tu veux juste une substitution, tu peux faire :

 agrep -1 -D2 -I2 < fichier_séquence
# Et pour deux substitutions :
agrep -2 -D3 -I3 < fichier_séquence
# Un deux insertions ou trois substitutions :
agrep -6 -D7 -I3 -S2 < fichier_séquence
# Le problème c'est que ça autorise aussi l'ensemble { une substitution et une insertion } .

Bref voilà pour ma petite contribution...

Dernière modification par nordinatueur (Le 24/11/2010, à 13:17)


Linux User #508094
Pour une meilleure coopération, utilisez des liens relatifs sur le forum !

Hors ligne

#17 Le 24/11/2010, à 21:17

ehmicky

Re : Expression régulière avec au moins 1 erreur toléré ?

Je donne juste une possibilité en Bash pour la question de départ :
(sequence est la séquence recherchée (par exemple "acga") et fichier le chemin du fichier contenant les séquences à analyser (par exemple "/chemin/vers/le/fichier.txt") :

for (( a = 1 ; a <= ${#sequence} ; ++a ))
do
    grep -E "${sequence:0:a-1}.${sequence:a}" "$fichier"
done

Mais agrep te permettra d'être plus flexible, et sinon pour ce qui est d'envisager un autre langage, je pense que c'est une excellente idée.
Je pense que Python par exemple sera bien mieux, et en plus il doit y avoir plein de modules intéressants qui t'éviteront de réinventer la roue.

Dernière modification par ehmicky (Le 24/11/2010, à 21:18)


Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?

Hors ligne

#18 Le 25/11/2010, à 05:24

nordinatueur

Re : Expression régulière avec au moins 1 erreur toléré ?

Je suis d'accord, mais pour moi apprendre un nouveau langage est long... Déjà le bash je le connais pas encore bien... depuis le temps que je l'utilise... D'où ma solution « agrep », même si les solutions en python semblent plus « naturelles » quand elles sont maîtrisées.

De plus avec cette solution (que je trouve très jolie et ingénieuse, je dois l'avouer), il ne peut envisager que des "insertions" dans le code. Or ce qui est intéressant c'est surtout les substitutions dans son cas...
Quoi qu'avec un « ${sequence:a+1} » au lieu de « ${sequence:a} » pourrait donner le bon résultat en presque "full-bash".

Soit-dit en passant, merci ehmicky et nesthib pour vos contributions. Ça fait toujours plaisir de voir le libre avancer à travers ce forum. J'ai eu tellement l'occasion d'apprendre de vous directement et indirectement.


Linux User #508094
Pour une meilleure coopération, utilisez des liens relatifs sur le forum !

Hors ligne

#19 Le 25/11/2010, à 05:32

ehmicky

Re : Expression régulière avec au moins 1 erreur toléré ?

Oui, je suis d'accord avec toi, faut pas réinventer la roue, et agrep a l'air d'avoir des options qui lui donneront plus de possibilités, et ce sera plus simple à utiliser. J'ai juste donné du Bash "histoire de" smile
Après, pour Python, tout dépend de lui, s'il a la motivation je pense que ça vaut le coup.

Edit : en y réfléchissant, je me dit que par ailleurs, si le temps de recherche est un facteur vraiment important pour lui, ça vaudrait peut-être le coup de regarder les modules dont parle Nesthib ou tout autre algorithme prévu spécifiquement pour ce problème. En effet, grep est efficient ; néanmoins, il s'agit d'une recherche octet par octet. Si tes séquences ne bougent pas trop, rien qu'en les implémentant sous forme de hash tables, cela diviserait le temps de recherche par au moins 10. Après, sûrement que les modules prévus pour ça ont des solutions encore plus efficientes.
Edit 2 : tiens d'ailleurs l'article Wikipedia des hash tables parle explicitement de la recherche dans une base de donnée génétique.

Dernière modification par ehmicky (Le 25/11/2010, à 08:01)


Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?

Hors ligne

#20 Le 25/11/2010, à 10:51

nesthib

Re : Expression régulière avec au moins 1 erreur toléré ?

L'alignement de séquences nucléotidiques est un thème de recherche à part entière, je ne pense pas qu'avec les outils standards UNIX et sans plonger dans de l'algo vous réussissiez à faire mieux que les outils développés exprès pour.

Il y a des outils très bien pour faire tout ça, utilisez-les ! smile (en plus ils sont souvent libres)

pour ceux qui veulent une introduction à la thématique : http://en.wikipedia.org/wiki/Sequence_alignment

NB. un peu de déterrage au passage tongue


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#21 Le 25/11/2010, à 14:07

nordinatueur

Re : Expression régulière avec au moins 1 erreur toléré ?

Certainement, tout comme la cryptographie... C'est pour ça que je me suis intéressé à agrep avant de commencer pyhton (parce que python ça a l'air vraiment puissant.)

Et pour l'instant, pour décoder un message, agrep est mon ami pour trouver la forme de cryptage puis la clé (qui sont souvent simples pour les exemples) en repérant des formes communes, et enfin un peu de bash pour convertir le message.

Et puis c'est un bon outil, du reste, je pense l'incure dans des scripts avec des paramètres très chiants... Vu que je suis un peu dyslexique c'est le genre de truc utile.


Linux User #508094
Pour une meilleure coopération, utilisez des liens relatifs sur le forum !

Hors ligne