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 :

Reg Exp et performance


Sujet :

Langage Perl

  1. #1
    Membre émérite
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Points : 2 673
    Points
    2 673
    Par défaut Reg Exp et performance
    Je ne sais pas quelle est la meilleure façon des 2 de procéder. Quand on hésite entre 2 façon de coder, comment estimer la meilleure?

    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
    37
    38
    39
    40
    41
    42
    43
    #!/usr/bin/perl
     
    use strict;
    use warnings;
     
    my $pcr_template = 'AAACATGCCACATCATAACTTTAAGGTGTAATGGTTAATGATAAAGTATTAGAAACATCGAAAGAGATGTATGTTGAGCAAAAATGTCTGATATTTTATAAAACTTTAAAGGAAAATGTTTGAGTGTACCAGTTGGAATACTAAAGGATTACAACAAGTTAAAGGAGAGAAAGTTATGTCAGAAGAAATGAATGACCAAATGTTGGTTCGACGTCAAAAATTACAAGAATTATATGATCTTGGTATAGACCCGTTTGGTTCTAAATTTGACCGTTCAGGTTTATCTAGTGATTTGAAAGAAGAGTGGGACCAGTATTCTAAAGAAGAATTGGTAGAAAAAGAAGCGGATAGTCATGTCGCTATAGCTGGACGATTAATGACTAAGCGTGGTAAAGGTAAAGCAGGATTTGCACACGTTCAGGACTTAGCTGGACAAATTCAAATTTACGTTCGTAAAGATCAAGTTGGCGATGACGAATTTGATTTATGGAAAAATGCTGATTTAGGCGATATCGTTGGTGTTGAAGGTGTAATGTTCAAAACAAATACTGGCGAATTATCGGTTAAAGCGAAGAAATTCACGCTACTAACTAAATCATTGCGACCATTACCGGATAAATTCCACGGTTTACAGGATATTGAACAGAGATATCGTCAAAGATATTTAGATTTAATTACGAACGAAGATAGCACTCGTACATTTATTAATCGTAGTAAAATCATTCAAGAAATGCGTAATTATTTAAATAATAAAGGTTTCTTGGAAGTAGAAACACCTATGATGCACCAAATTGCTGGTGGAGCAGCTGCTAGACCATTTGTAACACATCATAATGCATTAGATGCAACGTTATACATGCGTATTGCTATTGAGTTGCATTTAAAACGTTTAATTGTCGGTGGACTTGAAAAAGTATATGAAATTGGTAGAGTATTCCGTAATGAAGGTGTATCAACTAGACATAACCCTGAATTCACAATGATTGAATTATATGAAGCATATGCAGATTATCATGACATTATGGATTTAACAGAATCTATGGTGAGACATATTGCCAATGAAGTGTTAGGTTCTGCAAAAGTACAATACAATGGGGAAACGATTGATTTAGAATCTGCTTGGACTCGTTTGCATATTGTTGATGCTGTAAAAGAAGCTACTGGTGTAGATTTTTATGAAGTTAAAAGTGATGAAGAACGTAAAGCTTTAGCTAAAGAACATGGTATTGAAATTAAAGATACAATGAAATATGGTCATATTTTAAATGAATTCTTTGAGCAAAAAGTTGAAGAAACACTTATTCAGCCAACGTTTATCTATGGTCATCCGACTGAAATTTCACCTTTAGCGAAGAAAAATCCTGAAGATCCTAGATTTACTGATCGTTTCGAATTGTTCATTGTAGGTAGAGAGCATGCAAATCGATTTACTGAATTAAATGATCCTATTGATCAAAAAGGTCGTTTTGAAGCGCAACTTGTTGAAAAAGCGCAAGGTAATGATGAAGCGCATGAAATGGATGAAGATTACATTGAAGCGTTAGAATATGGTATGCCTCCGACAGGTGGTCTTGGTATCGGTATTGACAGATTGGTTATGTTATTAACTGACTCTCCATCAATCAGAGACGTATTATTATTCCCTTATATGAGACAAAAATAAATGACGTTGATTGTTAGTAAGAGCTCTCGTGTATACAACATGTGTATGCGAGGGCTTTCTTAATTATGGTAATTAGTTCGTGTTTGAATGTTTTTGATAGTAATAGTTAACGATAGTGGTGCTATTTTTGACTGTTAAACAAGGTAGTTGGCTGATAGATGAAAATGACGATACGTATATAGAGTAGTTCGGATGAGAAATGTTAACGATAGACATTGAGATATCTTATAACAAAAATTGCTATATTAGTATAATTTATCTTAATCAGCTATAAAAGTACTTTAAAATTGTATAGAATGTGTATGGTTTTGTACATATGTATATGATAGAATACTAAAAGTGTTATGAATTAGAGGGCACGAGAAATGTCAGTTTTGAAGAATAAAAAAGTTGATTAAAAGTGTTGACTTTATCAATTGAATGAAGTAATATATAAAAGTCGTCAAAAACAGACGAAACACACTAAAAGCTGATGTGACAAAGTTTACATCAAAGTGTAAAATTAACTATTGCACCTTATTAATTAAGCGTGTATCATGAATAAGTAAGTTATTTTGTCTGGTGACTATAGCAAGGAGGTCACACCTGTTCCCATGCCGAACACAGAAGTTAAGCTCCTTAGCGTCGATGGTAGTCGAACTTACGTTCCGCTAGAGTAGAACGTTGCCAGGCAAATGACAAATCGGAGAATTAGCTCAGCTGGGAGAGCATCTGCCTTACAAGCAGAGGGTCGGCGGTTCGAACCCGTCATTCTCCACCATTTATTCTTAGATATAGCCGGCCTAGCTCAATTGGTAGAGCAACTGACTTGTAATCAGTAGGTTGGGGGTTCAAGTCCTCTGGCCGGCACCATCTTTTGAGCCATTAGCTCAGCTGGTAGAGCATCTGACTTTTAATCAGAGGGTCAGAGGTTCGAATCCTCTATGGCTCATTACATTTAATTTTTATATTTAGCAAAATAATGCAGAAGTAGTTCAGCGGTAGAATACAACCTTGCCAAGGTTGGGGTCGCGGGTTCGAATCCCGTCTTCTGCTCCATTATTTTGCCGGGGTGGCGGAACTGGCAGACGCACAGGACTTAAAATCCTGCGGTGAGAGATCACCGTACCGGTTCGATTCCGGTCCTCGGCACCATTTTAGCGCCCGTAGCTCAATTGGATAGAGCGTTTGACTACGGATCAAGAGGTTATGGGTTCGACTCCTATCGGGCGCGCCATTTTTAAATTAATTGAATAACGGGAAGTAGCTCAGCTTGGTAGAGCACTTGGTTTGGGACCAAGGGGTCGCAGGTTCGAATCCTGTCTTCCCGATTACTTCTTAAATTCCATTTTATGGGGGCTTAGCTCAGCTGGGAGAGCGCCTGCTTTGCACGCAGGAGGTCAGCGGTTCGATCCCGCTAGTCTCCACCATTTATTTTTTACACGATGAACATTGAAAACTGAATGACAATATGTCAACGTTAATTCCAAAAAACGTAACTATAAGTTACAAACATTATTTAGTATTTATGAGCTAATCAAACATCATAATTTTTATGGAGAGTTTGATCCTGGCTCAGGATGAACGCTGGCGGCGTGCCTAATACATGCAAGTCGAGCGAACGGACGAGAAGCTTGCTTCTCTGATGTTAGCGGCGGACGGGTGAGTAACACGTGGATAACCTACCTATAAGACTGGGATAACTTCGGGAAACCGGAGCTAATACCGGATAATATTTTGAACCGCATGGTTCAAAAGTGAAAGACGGTCTTGCTGTCACTTATAGATGGATCCGCGCTGCATTAGCTAGTTGGTAAGGTAACGGCTTACCAAGGCAACGATGCATAGCCGACCTGAGAGGGTGATCGGCCACACTGGAACTGAGACACGGTCCAGACTCCTACGGGAGGCAGCAGTAGGGAATCTTCCGCAATGGGCGAAAGCCTGACGGAGCAACGCCGCGTGAGTGATGAAGGTCTTCGGATCGTAAAACTCTGTTATTAGGGAAGAACATATGTGTAAGTAACTGTGCACATCTTGACGGTACCTAATCAGAAAGCCACGGCTAACTACGTGCCAGCAGCCGCGGTAATACGTAGGTGGCAAGCGTTATCCGGAATTATTGGGCGTAAAGCGCGCGTAGGCGGTTTTTTAAGTCTGATGTGAAAGCCCACGGCTCAACCGTGGAGGGTCATTGGAAACTGGAAAACTTGAGTGCAGAAGAGGAAAGTGGAATTCCATGTGTAGCGGTGAAATGCGCAGAGATATGGAGGAACACCAGTGGCGAAGGCGACTTTCTGGTCTGTAACTGACGCTGATGTGCGAAAGCGTGGGGATCAAACAGGATTAGATACCCTGGTAGTCCACGCCGTAAACGATGAGTGCTAAGTGTTAGGGGGTTTCCGCCCCTTAGTGCTGCAGCTAACGCATTAAGCACTCCGCCTGGGGAGTACGACCGCAAGGTTGAAACTCAAAGGAATTGACGGGGACCCGCACAAGCGGTGGAGCATGTGGTTTAATTCGAAGCAACGCGAAGAACCTTACCAAATCTTGACATCCTTTGACAACTCTAGAGATAGAGCCTTCCCCTTCGGGGGACAAAGTGACAGGTGGTGCATGGTTGTCGTCAGCTCGTGTCGTGAGATGTTGGGTTAAGTCCCGCAACGAGCGCAACCCTTAAGCTTAGTTGCCATCATTAAGTTGGGCACTCTAAGTTGACTGCCGGTGACAAACCGGAGGAAGGTGGGGATGACATCAAATCATCATGCCCCTTATGATTTGGGCTACACACGTGCTACAATGGACAATACAAAGGGCAGCGAAACCGCGAGGTCAAGCAAATCCCATAAAGTTGTTCTCAGTTCGGATTGTAGTCTGCAACTCGACTACATGAAGCTGGAATCGCTAGTAATCGTAGATCAGCATGCTACGGTGAATACGTTCCCGGGTCTTGTACACACCGCCCGTCACACCACGAGAGTTTGTAACACCCGAAGCCGGTGGAGTAACCTTTTAGGAGCCAGCCGTCGAAGGTGGGACAAATGATTGGGGTGAAGTCGTAACAAGGTAGCCGTATCGGAAGGTGCGGCTGGATCACCTCCTTTCTAAGGATATATTCGGAACATCTTCTTCAGAAGATGCGGAATAACGTGACATATTGTATTCAGTTTTGAATGTTTATTTAACATTCAAAAAAATGGGCCTATAGCTCAGCTGGTTAGAGCGCACGCCTGATAAGCGTGAGGTCGGTGGTTCGAGTCCACTTAGGCCCACCATTATTTGTACATTGAAAACTAGATAAGTAAGTAAAATATAGATTTTACCAAGCAAAACCGAGTGAATAAAGAGTTTTAAATAAGCTTGAATTCATAAGAAATAATCGCTAGTGTTCGAAAGAACCATCACAAGATTAATAACGCGTTTAAATCTTTTTATAAAAGAAAACGTTTAGCAGACAATGAGTTAAATTATTTTAAAGCAGAGTTTACTTATGTAAATGAGCATTTAAAATAATGAAAACGAAGCCGTATGTGAGCGTTTGACTTATAAAAATGGTGGAAACATAGATTAAGTTATTAAGGGCGCACGGTGGATGCCTTGGCACTAGAAGCCGATGAAGGACGTTACTAACGACGATATGCTTTGGGGAGCTGTAAGTAAGCTTTGATCCAGAGATTTCCGAATGGGGAAACCCAGCATGAGTTATGTCATGTTATCGATATGTGAATACATAGCATATCAGAAGGCACACCCGGAGAACTGAAACATCTTAGTACCCGGAGGAAGAGAAAGAAAATTCGATTCCCTTAGTAGCGGCGAGCGAAACGGGAAGAGCCCAAACCAACAAGCTTGCTTGTTGGGGTTGTAGGACACTCTATACGGAGTTACAAAGGACGACATTAGACGAATCATCTGGAAAGATGAATCAAAGAAGGTAATAATCCTGTAGTCGAAAATGTTGTCTCTCTTGAGTGGATCCTGAGTACGACGGAGCACGTGAAATTCCGTCGGAATCTGGGAGGACCATCTCCTAAGGCTAAATACTCTCTAGTGACCGATAGTGAACCAGTACCGTGAGGGAAAGGTGAAAAGCACCCCGGAAGGGGAGTGAAATAGAACCTGAAACCGTGTGCTTACAAGTAGTCAGAGCCCGTTAATGGGTGATGGCGTGCCTTTTGTAGAATGAACCGGCGAGTTACGATTTGATGCAAGGTTAAGCAGTAAATGTGGAGCCGTAGCGAAAGCGAGTCTGAATAGGGCGTTTAGTATTTGGTCGTAGACCCGAAACCAGGTGATCTACCCTTGGTCAGGTTGAAGTTCAGGTAACACTGAATGGAGGACCGAACCGACTTACGTTGAAAAGTGAGCGGATGAACTGAGGGTAGCGGAGAAATTCCAATCGAACCTGGAGATAGCTGGTTCTCTCCGAAATAGCTTTAGGGCTAGCCTCAAGTGATGATTATTGGAGGTAGAGCACTGTTTGGACGAGGGGCCCCTCTCGGGTTACCGAATTCAGACAAACTCCGAATGCCAATTAATTTAACTTGGGAGTCAGAACATGGGTGATAAGGTCCGTGTTCGAAAGGGAAACAGCCCAGACCACCAGCTAAGGTCCCAAAATATATGTTAAGTGGAAAAGGATGTGGCGTTGCCCAGACAACTAGGATGTTGGCTTAGAAGCAGCCATCATTTAAAGAGTGCGTAATAGCTCACTAGTCGAGTGACACTGCGCCGAAAATGTACCGGGGCTAAACATATTACCGAAGCTGTGGATTGTCCTTTGGACAATGGTAGGAGAGCGTTCTAAGGGCGTTGAAGCATGATCGTAAGGACATGTGGAGCGCTTAGAAGTGAGAATGCCGGTGTGAGTAGCGAAAGACGGGTGAGAATCCCGTCCACCGATTGACTAAGGTTTCCAGAGGAAGGCTCGTCCGCTCTGGGTTAGTCGGGTCCTAAGCTGAGGCCGACAGGCGTAGGCGATGGATAACAGGTTGATATTCCTGTACCACCTATAATCGTTTTAATCGATGGGGGGACGCAGTAGGATAGGCGAAGCGTGCGATTGGATTGCACGTCTAAGCAGTAAGGCTGAGTATTAGGCAAATCCGGTACTCGTTAAGGCTGAGCTGTGATGGGGAGAAGACATTGTGTCTTCGAGTCGTTGATTTCACACTGCCGAGAAAAGCCTCTAGATAGAAAATAGGTGCCCGTACCGCAAACCGACACAGGTAGTCAAGATGAGAATTCTAAGGTGAGCGAGCGAACTCTCGTTAAGGAACTCGGCAAAATGACCCCGTAACTTCGGGAGAAGGGGTGCTCTTTAGGGTTAACGCCCAGAAGAGCCGCAGTGAATAGGCCCAAGCGACTGTTTATCAAAAACACAGGTCTCTGCTAAACCGTAAGGTGATGTATAGGGGCTGACGCCTGCCCGGTGCTGGAAGGTTAAGAGGAGTGGTTAGCTTCTGCGAAGCTACGAATCGAAGCCCCAGTAAACGGCGGCCGTAACTATAACGGTCCTAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCCGCACGAAAGGCGTAACGATTTGGGCACTGTCTCAACGAGAGACTCGGTGAAATCATAGTACCTGTGAAGATGCAGGTTACCCGCGACAGGACGGAAAGACCCCGTGGAGCTTTACTGTAGCCTGATATTGAAATTCGGCACAGCTTGTACAGGATAGGTAGGAGCCTTTGAAACGTGAGCGCTAGCTTACGTGGAGGCGCTGGTGGGATACTACCCTAGCTGTGTTGGCTTTCTAACCCGCACCACTTATCGTGGTGGGAGACAGTGTCAGGCGGGCAGTTTGACTGGGGCGGTCGCCTCCTAAAAGGTAACGGAGGCGCTCAAAGGTTCCCTCAGAATGGTTGGAAATCATTCATAGAGTGTAAAGGCATAAGGGAGCTTGACTGCGAGACCTACAAGTCGAGCAGGGTCGAAAGACGGACTTAGTGATCCGGTGGTTCCGCATGGAAGGGCCATCGCTCAACGGATAAAAGCTACCCCGGGGATAACAGGCTTATCTCCCCCAAGAGTTCACATCGACGGGGAGGTTTGGCACCTCGATGTCGGCTCATCGCATCCTGGGGCTGTAGTCGGTCCCAAGGGTTGGGCTGTTCGCCCATTAAAGCGGTACGCGAGCTGGGTTCAGAACGTCGTGAGACAGTTCGGTCCCTATCCGTCGTGGGCGTAGGAAATTTGAGAGGAGCTGTCCTTAGTACGAGAGGACCGGGATGGACATACCTCTGGTGTACCAGTTGTCGTGCCAACGGCATAGCTGGGTAGCTATGTGTGGACGGGATAAGTGCTGAAAGCATCTAAGCATGAAGCCCCCCTCAAGATGAGATTTCCCAACTTCGGTTATAAGATCCCTCAAAGATGATGAGGTTAATAGGTTCGAGGTGGAAGCATGGTGACATGTGGAGCTGACGAATACTAATCGATCGAGGGCTTAACCAAAATAAATGTTTTGCGAAGCAAAATCACTTTTACTTACTATCTAGTTTTGAATGTATAAATTACATTCATATGTCTGGTGACTATAGCAAGGAGGTCACACCTGTTCCCATGCCGAACACAGAAGTTAAGCTCCTTAGCGTCGATGGTAGTCGAACTTACGTTCCGCTAGAGTAGAACGTTGCCAGGCAGTTTTTTAATCAATTTTGGTTAAAAAATAAAATGGACAAGATAAAAAAAGTTATTGACTTAAATGTTAATAAAATGTATAATTAATTCTTGTCGGTAAGAAAAATGAACATTGAAAACTGAATGACAATATGTCAACGTTAATTCCAAAAAACGTAACTATAAGTTACAAACATTATTTAGTATTTATGAGCTAATCAAACATCATAATTTTTATGGAGAGTTTGATCCTGGCTCAGGATGAACGCTGGCGGCGTGCCTAATACATGCAAGTCGAGCGAACGGACGAGAAGCTTGCTTCTCTGATGTTAGCGGCGGACGGGTGAGTAACACGTGGATAACCTACCTATAAGACTGGGATAACTTCGGGAAACCGGAGCTAATACCGGATAATATTTTGAACCGCATGGTTCAAAAGTGAAAGACGGTCTTGCTGTCACTTATAGATGGATCCGCGCTGCATTAGCTAGTTGGTAAGGTAACGGCTTACCAAGGCAACGATGCATAGCCGACCTGAGAGGGTGATCGGCCACACTGGAACTGAGACACGGTCCAGACTCCTACGGGAGGCAGCAGTAGGGAATCTTCCGCAATGGGCGAAAGCCTGACGGAGCAACGCCGCGTGAGTGATGAAGGTCTTCGGATCGTAAAACTCTGTTATTAGGGAAGAACATATGTGTAAGTAACTGTGCACATCTTGACGGTACCTAATCAGAAAGCCACGGCTAACTACGTGCCAGCAGCCGCGGTAATACGTAGGTGGCAAGCGTTATCCGGAATTATTGGGCGTAAAGCGCGCGTAGGCGGTTTTTTAAGTCTGATGTGAAAGCCCACGGCTCAACCGTGGAGGGTCATTGGAAACTGGAAAACTTGAGTGCAGAAGAGGAAAGTGGAATTCCATGTGTAGCGGTGAAATGCGCAGAGATATGGAGGAACACCAGTGGCGAAGGCGACTTTCTGGTCTGTAACTGACGCTGATGTGCGAAAGCGTGGGGATCAAACAGGATTAGATACCCTGGTAGTCCACGCCGTAAACGATGAGTGCTAAGTGTTAGGGGGTTTCCGCCCCTTAGTGCTGCAGCTAACGCATTAAGCACTCCGCCTGGGGAGTACGACCGCAAGGTTGAAACTCAAAGGAATTGACGGGGACCCGCACAAGCGGTGGAGCATGTGGTTTAATTCGAAGCAACGCGAAGAACCTTACCAAATCTTGACATCCTTTGACAACTCTAGAGATAGAGCCTTCCCCTTCGGGGGACAAAGTGACAGGTGGTGCATGGTTGTCGTCAGCTCGTGTCGTGAGATGTTGGGTTAAGTCCCGCAACGAGCGCAACCCTTAAGCTTAGTTGCCATCATTAAGTTGGGCACTCTAAGTTGACTGCCGGTGACAAACCGGAGGAAGGTGGGGATGACATCAAATCATCATGCCCCTTATGATTTGGGCTACACACGTGCTACAATGGACAATACAAAGGGCAGCGAAACCGCGAGGTCAAGCAAATCCCATAAAGTTGTTCTCAGTTCGGATTGTAGTCTGCAACTCGACTACATGAAGCTGGAATCGCTAGTAATCGTAGATCAGCATGCTACGGTGAATACGTTCCCGGGTCTTGTACACACCGCCCGTCACACCACGAGAGTTTGTAACACCCGAAGCCGGTGGAGTAACCTTTTAGGAGCCAGCCGTCGAAGGTGGGACAAATGATTGGGGTGAAGTCGTAACAAGGTAGCCGTATCGGAAGGTGCGGCTGGATCACCTCCTTTCTAAGGATATATCGGAACATCTTCTTCAGAAGATGCGGAATAATGTGACATATTGTATCAGTTTTGAATGTTTATTTAACATTCAAATATTTTTTGGTTAAAGTGATATTGCTTATCGAGCGCTTGACTAAAAAGAAATTGTACATTGAAAACTAGATAAGTAAGTAAAATATAGATTTTACCAAGCAAAACCGAGTGAATAAAGAGTTTTAAATAAGCTTGAATTCATAAGAAATAATCGCTAGTGTTCGAAAGAACATCACAAGATTAATAACGCGTTTCCTGTAGGATGGAAACATAGATTAAGTTATTAAGGGCGCACGGTGGATGCCTTGGCACTAGAAGCCGATGAAGGACGTTACTAACGACGATATGCTTTGGGGAGCTGTAAGTAAGCTTTGATCCAGAGATTTCCGAATGGGGAAACCCAGCATGAGTTATGTCATGTTATCGATATGTGAATACATAGCATATCAGAAGGCACACCCGGAGAACTGAAACATCTTAGTACCCGGAGGAAGAGAAAGAAAATTCGATTCCCTTAGTAGCGGCGAGCGAAACGGGAAGAGCCCAAACCAACAAGCTTGCTTGTTGGGGTTGTAGGACACTCTATACGGAGTTACAAAGGACGACATTAGACGAATCATCTGGAAAGATGAATCAAAGAAGGTAATAATCCTGTAGTCGAAAATGTTGTCTCTCTTGAGTGGATCCTGAGTACGACGGAGCACGTGAAATTCCGTCGGAATCTGGGAGGACCATCTCCTAAGGCTAAATACTCTCTAGTGACCGATAGTGAACCAGTACCGTGAGGGAAAGGTGAAAAGCACCCCGGAAGGGGAGTGAAATAGAACCTGAAACCGTGTGCTTACAAGTAGTCAGAGCCCGTTAATGGGTGATGGCGTGCCTTTTGTAGAATGAACCGGCGAGTTACGATTTGATGCAAGGTTAAGCAGTAAATGTGGAGCCGTAGCGAAAGCGAGTCTGAATAGGGCGTTTAGTATTTGGTCGTAGACCCGAAACCAGGTGATCTACCCTTGGTCAGGTTGAAGTTCAGGTAACACTGAATGGAGGACCGAACCGACTTACGTTGAAAAGTGAGCGGATGAACTGAGGGTAGCGGAGAAATTCCAATCGAACCTGGAGATAGCTGGTTCTCTCCGAAATAGCTTTAGGGCTAGCCTCAAGTGATGATTATTGGAGGTAGAGCACTGTTTGGACGAGGGGCCCCTCTCGGGTTACCGAATTCAGACAAACTCCGAATGCCAATTAATTTAACTTGGGAGTCAGAACATGGGTGATAAGGTCCGTGTTCGAAAGGGAAACAGCCCAGACCACCAGCTAAGGTCCCAAAATATATGTTAAGTGGAAAAGGATGTGGCGTTGCCCAGACAACTAGGATGTTGGCTTAGAAGCAGCCATCATTTAAAGAGTGCGTAATAGCTCACTAGTCGAGTGACACTGCGCCGAAAATGTACCGGGGCTAAACATATTACCGAAGCTGTGGATTGTCCTTTGGACAATGGTAGGAGAGCGTTCTAAGGGCGTTGAAGCATGATCGTAAGGACATGTGGAGCGCTTAGAAGTGAGAATGCCGGTGTGAGTAGCGAAAGACGGGTGAGAATCCCGTCCACCGATTGACTAAGGTTTCCAGAGGAAGGCTCGTCCGCTCTGGGTTAGTCGGGTCCTAAGCTGAGGCCGACAGGCGTAGGCGATGGATAACAGGTTGATATTCCTGTACCACCTATAATCGTTTTAATCGATGGGGGGACGCAGTAGGATAGGCGAAGCGTGCGATTGGATTGCACGTCTAAGCAGTAAGGCTGAGTATTAGGCAAATCCGGTACTCGTTAAGGCTGAGCTGTGATGGGGAGAAGACATTGTGTCTTCGAGTCGTTGATTTCACACTGCCGAGAAAAGCCTCTAGATAGAAAATAGGTGCCCGTACCGCAAACCGACACAGGTAGTCAAGATGAGAATTCTAAGGTGAGCGAGCGAACTCTCGTTAAGGAACTCGGCAAAATGACCCCGTAACTTCGGGAGAAGGGGTGCTCTTTAGGGTTAACGCCCAGAAGAGCCGCAGTGAATAGGCCCAAGCGACTGTTTATCAAAAACACAGGTCTCTGCTAAACCGTAAGGTGATGTATAGGGGCTGACGCCTGCCCGGTGCTGGAAGGTTAAGAGGAGTGGTTAGCTTCTGCGAAGCTACGAATCGAAGCCCCAGTAAACGGCGGCCGTAACTATAACGGTCCTAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCCGCACGAAAGGCGTAACGATTTGGGCACTGTCTCAACGAGAGACTCGGTGAAATCATAGTACCTGTGAAGATGCAGGTTACCCGCGACAGGACGGAAAGACCCCGTGGAGCTTTACTGTAGCCTGATATTGAAATTCGGCACAGCTTGTACAGGATAGGTAGGAGCCTTTGAAACGTGAGCGCTAGCTTACGTGGAGGCGCTGGTGGGATACTACCCTAGCTGTGTTGGCTTTCTAACCCGCACCACTTATCGTGGTGGGAGACAGTGTCAGGCGGGCAGTTTGACTGGGGCGGTCGCCTCCTAAAAGGTAACGGAGGCGCTCAAAGGTTCCCTCAGAATGGTTGGAAATCATTCATAGAGTGTAAAGGCATAAGGGAGCTTGACTGCGAGACCTACAAGTCGAGCAGGGTCGAAAGACGGACTTAGTGATCCGGTGGTTCCGCATGGAAGGGCCATCGCTCAACGGATAAAAGCTACCCCGGGGATAACAGGCTTATCTCCCCCAAGAGTTCACATCGACGGGGAGGTTTGGCACCTCGATGTCGGCTCATCGCATCCTGGGGCTGTAGTCGGTCCCAAGGGTTGGGCTGTTCGCCCATTAAAGCGGTACGCGAGCTGGGTTCAGAACGTCGTGAGACAGTTCGGTCCCTATCCGTCGTGGGCGTAGGAAATTTGAGAGGAGCTGTCCTTAGTACGAGAGGACCGGGATGGACATACCTCTGGTGTACCAGTTGTCGTGCCAACGGCATAGCTGGGTAGCTATGTGTGGACGGGATAAGTGCTGAAAGCATCTAAGCATGAAGCCCCCCTCAAGATGAGATTTCCCAACTTCGGTTATAAGATC';
     
    # amorces sens dans le sens 5' -> 3'
    my $for = 'AAABATGCCMCATCATAACTTKAAGGTGT';
     
    my %correspondances = (
                'R' => ['A', 'G'],
                'K' => ['G', 'T'],
                'S' => ['C', 'G'],
                'W' => ['A', 'T'],
                'M' => ['A', 'C'],
                'Y' => ['C', 'T'],
                'D' => ['A', 'G', 'T'],
                'V' => ['A', 'C', 'G'],
                'B' => ['C', 'G', 'T'],
                'H' => ['A', 'C', 'T'],
                'N' => ['A', 'C', 'G', 'T'],
    );
     
     
    my $for_rx;
    my @for_nuc = split //, $for;
    foreach my $nuc (@for_nuc){
    	if (exists $correspondances{$nuc}){
    		$for_rx .= '[';
    		map {$for_rx .= $_} @{$correspondances{$nuc}};
    		$for_rx .= ']';
    	}
    	else{
    		$for_rx .= $nuc;
    	}
    }
    print $for_rx."\n";
    # AAA[CGT]ATGCC[AC]CATCATAACTT[GT]AAGGTGT
     
    if ($pcr_template =~ m/$for_rx/){
    	print "for primer matches\n";
    }

    ou d'utiliser
    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
    use strict;
    use warnings;
     
    # module permettant de créer la liste correspondante
    use Bio::Seq;
    use Bio::Tools::IUPAC;
     
     
    my $pcr_template = 'AAACATGCCACATCATAACTTTAAGGTGTAATGGTTAATGATAAAGTATTAGAAACATCGAAAGAGATGTATGTTGAGCAAAAATGTCTGATATTTTATAAAACTTTAAAGGAAAATGTTTGAGTGTACCAGTTGGAATACTAAAGGATTACAACAAGTTAAAGGAGAGAAAGTTATGTCAGAAGAAATGAATGACCAAATGTTGGTTCGACGTCAAAAATTACAAGAATTATATGATCTTGGTATAGACCCGTTTGGTTCTAAATTTGACCGTTCAGGTTTATCTAGTGATTTGAAAGAAGAGTGGGACCAGTATTCTAAAGAAGAATTGGTAGAAAAAGAAGCGGATAGTCATGTCGCTATAGCTGGACGATTAATGACTAAGCGTGGTAAAGGTAAAGCAGGATTTGCACACGTTCAGGACTTAGCTGGACAAATTCAAATTTACGTTCGTAAAGATCAAGTTGGCGATGACGAATTTGATTTATGGAAAAATGCTGATTTAGGCGATATCGTTGGTGTTGAAGGTGTAATGTTCAAAACAAATACTGGCGAATTATCGGTTAAAGCGAAGAAATTCACGCTACTAACTAAATCATTGCGACCATTACCGGATAAATTCCACGGTTTACAGGATATTGAACAGAGATATCGTCAAAGATATTTAGATTTAATTACGAACGAAGATAGCACTCGTACATTTATTAATCGTAGTAAAATCATTCAAGAAATGCGTAATTATTTAAATAATAAAGGTTTCTTGGAAGTAGAAACACCTATGATGCACCAAATTGCTGGTGGAGCAGCTGCTAGACCATTTGTAACACATCATAATGCATTAGATGCAACGTTATACATGCGTATTGCTATTGAGTTGCATTTAAAACGTTTAATTGTCGGTGGACTTGAAAAAGTATATGAAATTGGTAGAGTATTCCGTAATGAAGGTGTATCAACTAGACATAACCCTGAATTCACAATGATTGAATTATATGAAGCATATGCAGATTATCATGACATTATGGATTTAACAGAATCTATGGTGAGACATATTGCCAATGAAGTGTTAGGTTCTGCAAAAGTACAATACAATGGGGAAACGATTGATTTAGAATCTGCTTGGACTCGTTTGCATATTGTTGATGCTGTAAAAGAAGCTACTGGTGTAGATTTTTATGAAGTTAAAAGTGATGAAGAACGTAAAGCTTTAGCTAAAGAACATGGTATTGAAATTAAAGATACAATGAAATATGGTCATATTTTAAATGAATTCTTTGAGCAAAAAGTTGAAGAAACACTTATTCAGCCAACGTTTATCTATGGTCATCCGACTGAAATTTCACCTTTAGCGAAGAAAAATCCTGAAGATCCTAGATTTACTGATCGTTTCGAATTGTTCATTGTAGGTAGAGAGCATGCAAATCGATTTACTGAATTAAATGATCCTATTGATCAAAAAGGTCGTTTTGAAGCGCAACTTGTTGAAAAAGCGCAAGGTAATGATGAAGCGCATGAAATGGATGAAGATTACATTGAAGCGTTAGAATATGGTATGCCTCCGACAGGTGGTCTTGGTATCGGTATTGACAGATTGGTTATGTTATTAACTGACTCTCCATCAATCAGAGACGTATTATTATTCCCTTATATGAGACAAAAATAAATGACGTTGATTGTTAGTAAGAGCTCTCGTGTATACAACATGTGTATGCGAGGGCTTTCTTAATTATGGTAATTAGTTCGTGTTTGAATGTTTTTGATAGTAATAGTTAACGATAGTGGTGCTATTTTTGACTGTTAAACAAGGTAGTTGGCTGATAGATGAAAATGACGATACGTATATAGAGTAGTTCGGATGAGAAATGTTAACGATAGACATTGAGATATCTTATAACAAAAATTGCTATATTAGTATAATTTATCTTAATCAGCTATAAAAGTACTTTAAAATTGTATAGAATGTGTATGGTTTTGTACATATGTATATGATAGAATACTAAAAGTGTTATGAATTAGAGGGCACGAGAAATGTCAGTTTTGAAGAATAAAAAAGTTGATTAAAAGTGTTGACTTTATCAATTGAATGAAGTAATATATAAAAGTCGTCAAAAACAGACGAAACACACTAAAAGCTGATGTGACAAAGTTTACATCAAAGTGTAAAATTAACTATTGCACCTTATTAATTAAGCGTGTATCATGAATAAGTAAGTTATTTTGTCTGGTGACTATAGCAAGGAGGTCACACCTGTTCCCATGCCGAACACAGAAGTTAAGCTCCTTAGCGTCGATGGTAGTCGAACTTACGTTCCGCTAGAGTAGAACGTTGCCAGGCAAATGACAAATCGGAGAATTAGCTCAGCTGGGAGAGCATCTGCCTTACAAGCAGAGGGTCGGCGGTTCGAACCCGTCATTCTCCACCATTTATTCTTAGATATAGCCGGCCTAGCTCAATTGGTAGAGCAACTGACTTGTAATCAGTAGGTTGGGGGTTCAAGTCCTCTGGCCGGCACCATCTTTTGAGCCATTAGCTCAGCTGGTAGAGCATCTGACTTTTAATCAGAGGGTCAGAGGTTCGAATCCTCTATGGCTCATTACATTTAATTTTTATATTTAGCAAAATAATGCAGAAGTAGTTCAGCGGTAGAATACAACCTTGCCAAGGTTGGGGTCGCGGGTTCGAATCCCGTCTTCTGCTCCATTATTTTGCCGGGGTGGCGGAACTGGCAGACGCACAGGACTTAAAATCCTGCGGTGAGAGATCACCGTACCGGTTCGATTCCGGTCCTCGGCACCATTTTAGCGCCCGTAGCTCAATTGGATAGAGCGTTTGACTACGGATCAAGAGGTTATGGGTTCGACTCCTATCGGGCGCGCCATTTTTAAATTAATTGAATAACGGGAAGTAGCTCAGCTTGGTAGAGCACTTGGTTTGGGACCAAGGGGTCGCAGGTTCGAATCCTGTCTTCCCGATTACTTCTTAAATTCCATTTTATGGGGGCTTAGCTCAGCTGGGAGAGCGCCTGCTTTGCACGCAGGAGGTCAGCGGTTCGATCCCGCTAGTCTCCACCATTTATTTTTTACACGATGAACATTGAAAACTGAATGACAATATGTCAACGTTAATTCCAAAAAACGTAACTATAAGTTACAAACATTATTTAGTATTTATGAGCTAATCAAACATCATAATTTTTATGGAGAGTTTGATCCTGGCTCAGGATGAACGCTGGCGGCGTGCCTAATACATGCAAGTCGAGCGAACGGACGAGAAGCTTGCTTCTCTGATGTTAGCGGCGGACGGGTGAGTAACACGTGGATAACCTACCTATAAGACTGGGATAACTTCGGGAAACCGGAGCTAATACCGGATAATATTTTGAACCGCATGGTTCAAAAGTGAAAGACGGTCTTGCTGTCACTTATAGATGGATCCGCGCTGCATTAGCTAGTTGGTAAGGTAACGGCTTACCAAGGCAACGATGCATAGCCGACCTGAGAGGGTGATCGGCCACACTGGAACTGAGACACGGTCCAGACTCCTACGGGAGGCAGCAGTAGGGAATCTTCCGCAATGGGCGAAAGCCTGACGGAGCAACGCCGCGTGAGTGATGAAGGTCTTCGGATCGTAAAACTCTGTTATTAGGGAAGAACATATGTGTAAGTAACTGTGCACATCTTGACGGTACCTAATCAGAAAGCCACGGCTAACTACGTGCCAGCAGCCGCGGTAATACGTAGGTGGCAAGCGTTATCCGGAATTATTGGGCGTAAAGCGCGCGTAGGCGGTTTTTTAAGTCTGATGTGAAAGCCCACGGCTCAACCGTGGAGGGTCATTGGAAACTGGAAAACTTGAGTGCAGAAGAGGAAAGTGGAATTCCATGTGTAGCGGTGAAATGCGCAGAGATATGGAGGAACACCAGTGGCGAAGGCGACTTTCTGGTCTGTAACTGACGCTGATGTGCGAAAGCGTGGGGATCAAACAGGATTAGATACCCTGGTAGTCCACGCCGTAAACGATGAGTGCTAAGTGTTAGGGGGTTTCCGCCCCTTAGTGCTGCAGCTAACGCATTAAGCACTCCGCCTGGGGAGTACGACCGCAAGGTTGAAACTCAAAGGAATTGACGGGGACCCGCACAAGCGGTGGAGCATGTGGTTTAATTCGAAGCAACGCGAAGAACCTTACCAAATCTTGACATCCTTTGACAACTCTAGAGATAGAGCCTTCCCCTTCGGGGGACAAAGTGACAGGTGGTGCATGGTTGTCGTCAGCTCGTGTCGTGAGATGTTGGGTTAAGTCCCGCAACGAGCGCAACCCTTAAGCTTAGTTGCCATCATTAAGTTGGGCACTCTAAGTTGACTGCCGGTGACAAACCGGAGGAAGGTGGGGATGACATCAAATCATCATGCCCCTTATGATTTGGGCTACACACGTGCTACAATGGACAATACAAAGGGCAGCGAAACCGCGAGGTCAAGCAAATCCCATAAAGTTGTTCTCAGTTCGGATTGTAGTCTGCAACTCGACTACATGAAGCTGGAATCGCTAGTAATCGTAGATCAGCATGCTACGGTGAATACGTTCCCGGGTCTTGTACACACCGCCCGTCACACCACGAGAGTTTGTAACACCCGAAGCCGGTGGAGTAACCTTTTAGGAGCCAGCCGTCGAAGGTGGGACAAATGATTGGGGTGAAGTCGTAACAAGGTAGCCGTATCGGAAGGTGCGGCTGGATCACCTCCTTTCTAAGGATATATTCGGAACATCTTCTTCAGAAGATGCGGAATAACGTGACATATTGTATTCAGTTTTGAATGTTTATTTAACATTCAAAAAAATGGGCCTATAGCTCAGCTGGTTAGAGCGCACGCCTGATAAGCGTGAGGTCGGTGGTTCGAGTCCACTTAGGCCCACCATTATTTGTACATTGAAAACTAGATAAGTAAGTAAAATATAGATTTTACCAAGCAAAACCGAGTGAATAAAGAGTTTTAAATAAGCTTGAATTCATAAGAAATAATCGCTAGTGTTCGAAAGAACCATCACAAGATTAATAACGCGTTTAAATCTTTTTATAAAAGAAAACGTTTAGCAGACAATGAGTTAAATTATTTTAAAGCAGAGTTTACTTATGTAAATGAGCATTTAAAATAATGAAAACGAAGCCGTATGTGAGCGTTTGACTTATAAAAATGGTGGAAACATAGATTAAGTTATTAAGGGCGCACGGTGGATGCCTTGGCACTAGAAGCCGATGAAGGACGTTACTAACGACGATATGCTTTGGGGAGCTGTAAGTAAGCTTTGATCCAGAGATTTCCGAATGGGGAAACCCAGCATGAGTTATGTCATGTTATCGATATGTGAATACATAGCATATCAGAAGGCACACCCGGAGAACTGAAACATCTTAGTACCCGGAGGAAGAGAAAGAAAATTCGATTCCCTTAGTAGCGGCGAGCGAAACGGGAAGAGCCCAAACCAACAAGCTTGCTTGTTGGGGTTGTAGGACACTCTATACGGAGTTACAAAGGACGACATTAGACGAATCATCTGGAAAGATGAATCAAAGAAGGTAATAATCCTGTAGTCGAAAATGTTGTCTCTCTTGAGTGGATCCTGAGTACGACGGAGCACGTGAAATTCCGTCGGAATCTGGGAGGACCATCTCCTAAGGCTAAATACTCTCTAGTGACCGATAGTGAACCAGTACCGTGAGGGAAAGGTGAAAAGCACCCCGGAAGGGGAGTGAAATAGAACCTGAAACCGTGTGCTTACAAGTAGTCAGAGCCCGTTAATGGGTGATGGCGTGCCTTTTGTAGAATGAACCGGCGAGTTACGATTTGATGCAAGGTTAAGCAGTAAATGTGGAGCCGTAGCGAAAGCGAGTCTGAATAGGGCGTTTAGTATTTGGTCGTAGACCCGAAACCAGGTGATCTACCCTTGGTCAGGTTGAAGTTCAGGTAACACTGAATGGAGGACCGAACCGACTTACGTTGAAAAGTGAGCGGATGAACTGAGGGTAGCGGAGAAATTCCAATCGAACCTGGAGATAGCTGGTTCTCTCCGAAATAGCTTTAGGGCTAGCCTCAAGTGATGATTATTGGAGGTAGAGCACTGTTTGGACGAGGGGCCCCTCTCGGGTTACCGAATTCAGACAAACTCCGAATGCCAATTAATTTAACTTGGGAGTCAGAACATGGGTGATAAGGTCCGTGTTCGAAAGGGAAACAGCCCAGACCACCAGCTAAGGTCCCAAAATATATGTTAAGTGGAAAAGGATGTGGCGTTGCCCAGACAACTAGGATGTTGGCTTAGAAGCAGCCATCATTTAAAGAGTGCGTAATAGCTCACTAGTCGAGTGACACTGCGCCGAAAATGTACCGGGGCTAAACATATTACCGAAGCTGTGGATTGTCCTTTGGACAATGGTAGGAGAGCGTTCTAAGGGCGTTGAAGCATGATCGTAAGGACATGTGGAGCGCTTAGAAGTGAGAATGCCGGTGTGAGTAGCGAAAGACGGGTGAGAATCCCGTCCACCGATTGACTAAGGTTTCCAGAGGAAGGCTCGTCCGCTCTGGGTTAGTCGGGTCCTAAGCTGAGGCCGACAGGCGTAGGCGATGGATAACAGGTTGATATTCCTGTACCACCTATAATCGTTTTAATCGATGGGGGGACGCAGTAGGATAGGCGAAGCGTGCGATTGGATTGCACGTCTAAGCAGTAAGGCTGAGTATTAGGCAAATCCGGTACTCGTTAAGGCTGAGCTGTGATGGGGAGAAGACATTGTGTCTTCGAGTCGTTGATTTCACACTGCCGAGAAAAGCCTCTAGATAGAAAATAGGTGCCCGTACCGCAAACCGACACAGGTAGTCAAGATGAGAATTCTAAGGTGAGCGAGCGAACTCTCGTTAAGGAACTCGGCAAAATGACCCCGTAACTTCGGGAGAAGGGGTGCTCTTTAGGGTTAACGCCCAGAAGAGCCGCAGTGAATAGGCCCAAGCGACTGTTTATCAAAAACACAGGTCTCTGCTAAACCGTAAGGTGATGTATAGGGGCTGACGCCTGCCCGGTGCTGGAAGGTTAAGAGGAGTGGTTAGCTTCTGCGAAGCTACGAATCGAAGCCCCAGTAAACGGCGGCCGTAACTATAACGGTCCTAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCCGCACGAAAGGCGTAACGATTTGGGCACTGTCTCAACGAGAGACTCGGTGAAATCATAGTACCTGTGAAGATGCAGGTTACCCGCGACAGGACGGAAAGACCCCGTGGAGCTTTACTGTAGCCTGATATTGAAATTCGGCACAGCTTGTACAGGATAGGTAGGAGCCTTTGAAACGTGAGCGCTAGCTTACGTGGAGGCGCTGGTGGGATACTACCCTAGCTGTGTTGGCTTTCTAACCCGCACCACTTATCGTGGTGGGAGACAGTGTCAGGCGGGCAGTTTGACTGGGGCGGTCGCCTCCTAAAAGGTAACGGAGGCGCTCAAAGGTTCCCTCAGAATGGTTGGAAATCATTCATAGAGTGTAAAGGCATAAGGGAGCTTGACTGCGAGACCTACAAGTCGAGCAGGGTCGAAAGACGGACTTAGTGATCCGGTGGTTCCGCATGGAAGGGCCATCGCTCAACGGATAAAAGCTACCCCGGGGATAACAGGCTTATCTCCCCCAAGAGTTCACATCGACGGGGAGGTTTGGCACCTCGATGTCGGCTCATCGCATCCTGGGGCTGTAGTCGGTCCCAAGGGTTGGGCTGTTCGCCCATTAAAGCGGTACGCGAGCTGGGTTCAGAACGTCGTGAGACAGTTCGGTCCCTATCCGTCGTGGGCGTAGGAAATTTGAGAGGAGCTGTCCTTAGTACGAGAGGACCGGGATGGACATACCTCTGGTGTACCAGTTGTCGTGCCAACGGCATAGCTGGGTAGCTATGTGTGGACGGGATAAGTGCTGAAAGCATCTAAGCATGAAGCCCCCCTCAAGATGAGATTTCCCAACTTCGGTTATAAGATCCCTCAAAGATGATGAGGTTAATAGGTTCGAGGTGGAAGCATGGTGACATGTGGAGCTGACGAATACTAATCGATCGAGGGCTTAACCAAAATAAATGTTTTGCGAAGCAAAATCACTTTTACTTACTATCTAGTTTTGAATGTATAAATTACATTCATATGTCTGGTGACTATAGCAAGGAGGTCACACCTGTTCCCATGCCGAACACAGAAGTTAAGCTCCTTAGCGTCGATGGTAGTCGAACTTACGTTCCGCTAGAGTAGAACGTTGCCAGGCAGTTTTTTAATCAATTTTGGTTAAAAAATAAAATGGACAAGATAAAAAAAGTTATTGACTTAAATGTTAATAAAATGTATAATTAATTCTTGTCGGTAAGAAAAATGAACATTGAAAACTGAATGACAATATGTCAACGTTAATTCCAAAAAACGTAACTATAAGTTACAAACATTATTTAGTATTTATGAGCTAATCAAACATCATAATTTTTATGGAGAGTTTGATCCTGGCTCAGGATGAACGCTGGCGGCGTGCCTAATACATGCAAGTCGAGCGAACGGACGAGAAGCTTGCTTCTCTGATGTTAGCGGCGGACGGGTGAGTAACACGTGGATAACCTACCTATAAGACTGGGATAACTTCGGGAAACCGGAGCTAATACCGGATAATATTTTGAACCGCATGGTTCAAAAGTGAAAGACGGTCTTGCTGTCACTTATAGATGGATCCGCGCTGCATTAGCTAGTTGGTAAGGTAACGGCTTACCAAGGCAACGATGCATAGCCGACCTGAGAGGGTGATCGGCCACACTGGAACTGAGACACGGTCCAGACTCCTACGGGAGGCAGCAGTAGGGAATCTTCCGCAATGGGCGAAAGCCTGACGGAGCAACGCCGCGTGAGTGATGAAGGTCTTCGGATCGTAAAACTCTGTTATTAGGGAAGAACATATGTGTAAGTAACTGTGCACATCTTGACGGTACCTAATCAGAAAGCCACGGCTAACTACGTGCCAGCAGCCGCGGTAATACGTAGGTGGCAAGCGTTATCCGGAATTATTGGGCGTAAAGCGCGCGTAGGCGGTTTTTTAAGTCTGATGTGAAAGCCCACGGCTCAACCGTGGAGGGTCATTGGAAACTGGAAAACTTGAGTGCAGAAGAGGAAAGTGGAATTCCATGTGTAGCGGTGAAATGCGCAGAGATATGGAGGAACACCAGTGGCGAAGGCGACTTTCTGGTCTGTAACTGACGCTGATGTGCGAAAGCGTGGGGATCAAACAGGATTAGATACCCTGGTAGTCCACGCCGTAAACGATGAGTGCTAAGTGTTAGGGGGTTTCCGCCCCTTAGTGCTGCAGCTAACGCATTAAGCACTCCGCCTGGGGAGTACGACCGCAAGGTTGAAACTCAAAGGAATTGACGGGGACCCGCACAAGCGGTGGAGCATGTGGTTTAATTCGAAGCAACGCGAAGAACCTTACCAAATCTTGACATCCTTTGACAACTCTAGAGATAGAGCCTTCCCCTTCGGGGGACAAAGTGACAGGTGGTGCATGGTTGTCGTCAGCTCGTGTCGTGAGATGTTGGGTTAAGTCCCGCAACGAGCGCAACCCTTAAGCTTAGTTGCCATCATTAAGTTGGGCACTCTAAGTTGACTGCCGGTGACAAACCGGAGGAAGGTGGGGATGACATCAAATCATCATGCCCCTTATGATTTGGGCTACACACGTGCTACAATGGACAATACAAAGGGCAGCGAAACCGCGAGGTCAAGCAAATCCCATAAAGTTGTTCTCAGTTCGGATTGTAGTCTGCAACTCGACTACATGAAGCTGGAATCGCTAGTAATCGTAGATCAGCATGCTACGGTGAATACGTTCCCGGGTCTTGTACACACCGCCCGTCACACCACGAGAGTTTGTAACACCCGAAGCCGGTGGAGTAACCTTTTAGGAGCCAGCCGTCGAAGGTGGGACAAATGATTGGGGTGAAGTCGTAACAAGGTAGCCGTATCGGAAGGTGCGGCTGGATCACCTCCTTTCTAAGGATATATCGGAACATCTTCTTCAGAAGATGCGGAATAATGTGACATATTGTATCAGTTTTGAATGTTTATTTAACATTCAAATATTTTTTGGTTAAAGTGATATTGCTTATCGAGCGCTTGACTAAAAAGAAATTGTACATTGAAAACTAGATAAGTAAGTAAAATATAGATTTTACCAAGCAAAACCGAGTGAATAAAGAGTTTTAAATAAGCTTGAATTCATAAGAAATAATCGCTAGTGTTCGAAAGAACATCACAAGATTAATAACGCGTTTCCTGTAGGATGGAAACATAGATTAAGTTATTAAGGGCGCACGGTGGATGCCTTGGCACTAGAAGCCGATGAAGGACGTTACTAACGACGATATGCTTTGGGGAGCTGTAAGTAAGCTTTGATCCAGAGATTTCCGAATGGGGAAACCCAGCATGAGTTATGTCATGTTATCGATATGTGAATACATAGCATATCAGAAGGCACACCCGGAGAACTGAAACATCTTAGTACCCGGAGGAAGAGAAAGAAAATTCGATTCCCTTAGTAGCGGCGAGCGAAACGGGAAGAGCCCAAACCAACAAGCTTGCTTGTTGGGGTTGTAGGACACTCTATACGGAGTTACAAAGGACGACATTAGACGAATCATCTGGAAAGATGAATCAAAGAAGGTAATAATCCTGTAGTCGAAAATGTTGTCTCTCTTGAGTGGATCCTGAGTACGACGGAGCACGTGAAATTCCGTCGGAATCTGGGAGGACCATCTCCTAAGGCTAAATACTCTCTAGTGACCGATAGTGAACCAGTACCGTGAGGGAAAGGTGAAAAGCACCCCGGAAGGGGAGTGAAATAGAACCTGAAACCGTGTGCTTACAAGTAGTCAGAGCCCGTTAATGGGTGATGGCGTGCCTTTTGTAGAATGAACCGGCGAGTTACGATTTGATGCAAGGTTAAGCAGTAAATGTGGAGCCGTAGCGAAAGCGAGTCTGAATAGGGCGTTTAGTATTTGGTCGTAGACCCGAAACCAGGTGATCTACCCTTGGTCAGGTTGAAGTTCAGGTAACACTGAATGGAGGACCGAACCGACTTACGTTGAAAAGTGAGCGGATGAACTGAGGGTAGCGGAGAAATTCCAATCGAACCTGGAGATAGCTGGTTCTCTCCGAAATAGCTTTAGGGCTAGCCTCAAGTGATGATTATTGGAGGTAGAGCACTGTTTGGACGAGGGGCCCCTCTCGGGTTACCGAATTCAGACAAACTCCGAATGCCAATTAATTTAACTTGGGAGTCAGAACATGGGTGATAAGGTCCGTGTTCGAAAGGGAAACAGCCCAGACCACCAGCTAAGGTCCCAAAATATATGTTAAGTGGAAAAGGATGTGGCGTTGCCCAGACAACTAGGATGTTGGCTTAGAAGCAGCCATCATTTAAAGAGTGCGTAATAGCTCACTAGTCGAGTGACACTGCGCCGAAAATGTACCGGGGCTAAACATATTACCGAAGCTGTGGATTGTCCTTTGGACAATGGTAGGAGAGCGTTCTAAGGGCGTTGAAGCATGATCGTAAGGACATGTGGAGCGCTTAGAAGTGAGAATGCCGGTGTGAGTAGCGAAAGACGGGTGAGAATCCCGTCCACCGATTGACTAAGGTTTCCAGAGGAAGGCTCGTCCGCTCTGGGTTAGTCGGGTCCTAAGCTGAGGCCGACAGGCGTAGGCGATGGATAACAGGTTGATATTCCTGTACCACCTATAATCGTTTTAATCGATGGGGGGACGCAGTAGGATAGGCGAAGCGTGCGATTGGATTGCACGTCTAAGCAGTAAGGCTGAGTATTAGGCAAATCCGGTACTCGTTAAGGCTGAGCTGTGATGGGGAGAAGACATTGTGTCTTCGAGTCGTTGATTTCACACTGCCGAGAAAAGCCTCTAGATAGAAAATAGGTGCCCGTACCGCAAACCGACACAGGTAGTCAAGATGAGAATTCTAAGGTGAGCGAGCGAACTCTCGTTAAGGAACTCGGCAAAATGACCCCGTAACTTCGGGAGAAGGGGTGCTCTTTAGGGTTAACGCCCAGAAGAGCCGCAGTGAATAGGCCCAAGCGACTGTTTATCAAAAACACAGGTCTCTGCTAAACCGTAAGGTGATGTATAGGGGCTGACGCCTGCCCGGTGCTGGAAGGTTAAGAGGAGTGGTTAGCTTCTGCGAAGCTACGAATCGAAGCCCCAGTAAACGGCGGCCGTAACTATAACGGTCCTAAGGTAGCGAAATTCCTTGTCGGGTAAGTTCCGACCCGCACGAAAGGCGTAACGATTTGGGCACTGTCTCAACGAGAGACTCGGTGAAATCATAGTACCTGTGAAGATGCAGGTTACCCGCGACAGGACGGAAAGACCCCGTGGAGCTTTACTGTAGCCTGATATTGAAATTCGGCACAGCTTGTACAGGATAGGTAGGAGCCTTTGAAACGTGAGCGCTAGCTTACGTGGAGGCGCTGGTGGGATACTACCCTAGCTGTGTTGGCTTTCTAACCCGCACCACTTATCGTGGTGGGAGACAGTGTCAGGCGGGCAGTTTGACTGGGGCGGTCGCCTCCTAAAAGGTAACGGAGGCGCTCAAAGGTTCCCTCAGAATGGTTGGAAATCATTCATAGAGTGTAAAGGCATAAGGGAGCTTGACTGCGAGACCTACAAGTCGAGCAGGGTCGAAAGACGGACTTAGTGATCCGGTGGTTCCGCATGGAAGGGCCATCGCTCAACGGATAAAAGCTACCCCGGGGATAACAGGCTTATCTCCCCCAAGAGTTCACATCGACGGGGAGGTTTGGCACCTCGATGTCGGCTCATCGCATCCTGGGGCTGTAGTCGGTCCCAAGGGTTGGGCTGTTCGCCCATTAAAGCGGTACGCGAGCTGGGTTCAGAACGTCGTGAGACAGTTCGGTCCCTATCCGTCGTGGGCGTAGGAAATTTGAGAGGAGCTGTCCTTAGTACGAGAGGACCGGGATGGACATACCTCTGGTGTACCAGTTGTCGTGCCAACGGCATAGCTGGGTAGCTATGTGTGGACGGGATAAGTGCTGAAAGCATCTAAGCATGAAGCCCCCCTCAAGATGAGATTTCCCAACTTCGGTTATAAGATC';
     
    # amorces sens dans le sens 5' -> 3'
    my $for = 'AAABATGCCMCATCATAACTTKAAGGTGT';
     
    # recherche des amorces correspondantes
    my $for_ambiseq = Bio::Seq->new(-seq => $for, -alphabet => 'dna');
    my $for_stream  = Bio::Tools::IUPAC->new(-seq => $for_ambiseq );
     
    # liste contenant les amorces correspondantes
    my @for_list;
     
    while (my $uniqueseq = $for_stream->next_seq()) {
    	push (@for_list, $uniqueseq->seq);
    }
     
    # ExpReg de l'amorce for
    my $for_rx = join '|', map {quotemeta $_} @for_list;
     
    print $for_rx."\n";
    # AAACATGCCACATCATAACTTGAAGGTGT|AAAGATGCCACATCATAACTTGAAGGTGT|AAATATGCCACATCATAACTTGAAGGTGT|AAACATGCCCCATCATAACTTGAAGGTGT|AAAGATGCCCCATCATAACTTGAAGGTGT|AAATATGCCCCATCATAACTTGAAGGTGT|AAACATGCCACATCATAACTTTAAGGTGT|AAAGATGCCACATCATAACTTTAAGGTGT|AAATATGCCACATCATAACTTTAAGGTGT|AAACATGCCCCATCATAACTTTAAGGTGT|AAAGATGCCCCATCATAACTTTAAGGTGT|AAATATGCCCCATCATAACTTTAAGGTGT
     
    if ($pcr_template =~ m/$for_rx/){
    	print "for primer matches\n";
    }
    La première façon génère une expression régulière différente et peut-être meilleure. Par contre, le second code me permet d'utiliser un module au lieu d'un hash que je crée moi-même. Que feriez-vous?


    Merci,
    -- Jasmine --

  2. #2
    Membre éclairé
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Points : 835
    Points
    835
    Par défaut
    Re-coucou
    la 1ere est plus lisible humainement, donc possiblement plus facile à sortir, à debugger, et a reprendre dans qq mois
    Si la rapidité doit etre un critere, chronometre le regex dans ta condition pour 1M d'executions

    Z.

  3. #3
    Membre émérite
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Points : 2 673
    Points
    2 673
    Par défaut
    Citation Envoyé par Zwiter Voir le message
    Re-coucou
    la 1ere est plus lisible humainement, donc possiblement plus facile à sortir, à debugger, et a reprendre dans qq mois
    Si la rapidité doit etre un critere, chronometre le regex dans ta condition pour 1M d'executions
    Z.
    Merci pour ta réponse. J'hésite parce qu'il me semble qu'il est toujours préférable si possible d'utiliser un module existant au lieu de le réécrire, de risquer d'y faire des fautes et d'avoir quelque chose de moins performant. Question temps, je ne suis pas à 5 minutes près ... mais en général, j'ai quand même beaucoup de séquences à traiter.
    -- Jasmine --

  4. #4
    Membre éclairé
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Points : 835
    Points
    835
    Par défaut
    le test de la 1ere solution met 10sec pour 15sec avec la 2eme solution chez moi, pour 10M d'execution :
    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
    my $start_time;
    start_timer();
     
    for my $i (0 .. 10000000) {
    	print "count: $i \n" unless ($i % 1000000);
    	$pcr_template =~ m/$for_rx/;
    	}
    print "time: ", show_timer(), "\n";
    exit;
     
    sub start_timer {
    	$start_time = `date '+%s%N'`;
    	}
     
    sub show_timer {
    	return "\033[31m", (`date '+%s%N'` - $start_time) / 1000000, " ms\033[0m";
    	}

  5. #5
    Membre émérite
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Points : 2 673
    Points
    2 673
    Par défaut
    Merci pour cette information. Il me faudrait un module d'évaluation des performances de codes ... ça doit bien exister.
    -- Jasmine --

  6. #6
    Membre éclairé
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Points : 835
    Points
    835
    Par défaut
    Sur quelles criteres se baser aussi :
    La mémoire utilisée ?
    --> interessant avec des enormes tableaux de hash (j'en fait de plus de 20GO)
    Le temps processeur utilisé ?
    --> utile pour traiter pleins de petit traitements, genre algo d'optimisation type sac a dos...
    Z.

  7. #7
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par Jasmine80 Voir le message
    Merci pour cette information. Il me faudrait un module d'évaluation des performances de codes ... ça doit bien exister.
    Perl vient par défaut avec le module Benchmark qui propose un certain nombre de fonctions pour comparer des solutions.

    --
    Jedaï

  8. #8
    Membre éclairé
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Points : 835
    Points
    835
    Par défaut
    Je connaissais pas. Ca a l'aire tres interessant
    Merci !
    Z.

  9. #9
    Membre émérite
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Points : 2 673
    Points
    2 673
    Par défaut
    Citation Envoyé par Jedai Voir le message
    Perl vient par défaut avec le module Benchmark qui propose un certain nombre de fonctions pour comparer des solutions.

    --
    Jedaï
    Oui, je l'ai déjà utilisé auparavant, mais obtenant des réponses variables entre 2 runs du même script, j'avais laissé tombé. Probablement, est-il prévu pour des scripts durant longtemps et que les arrondis des temps de calcul génère des variations de résultat pour les temps d'exécution trop courts. En général, je teste mes scripts sur des séquences ridiculement petites avant d'analyser celles qui sont très longues, d'où j'obtiens des temps d'exécution de l'ordre de quelques secondes.


    Merci pour vos réponses, je peux clore le sujet.
    -- Jasmine --

  10. #10
    Membre éclairé
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Points : 835
    Points
    835
    Par défaut
    le top du top, c'est utiliser la comande time sous linux.
    Ca te donne non seulement le temps d'execution du script, mais aussi TON temps processeur, c'est a dire le temps exacte que ce dernier a passer a faire ton calcule a toi !

    ex :
    time perl general_probe.pl
    real 1m4.002s
    user 0m48.879s
    sys 0m0.655s

    Z.

  11. #11
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par Jasmine80 Voir le message
    Oui, je l'ai déjà utilisé auparavant, mais obtenant des réponses variables entre 2 runs du même script, j'avais laissé tombé. Probablement, est-il prévu pour des scripts durant longtemps et que les arrondis des temps de calcul génère des variations de résultat pour les temps d'exécution trop courts. En général, je teste mes scripts sur des séquences ridiculement petites avant d'analyser celles qui sont très longues, d'où j'obtiens des temps d'exécution de l'ordre de quelques secondes.


    Merci pour vos réponses, je peux clore le sujet.
    D'une part tu peux améliorer la précision des mesures en donnant l'option :hireswallclock au chargement du module, d'autre part Benchmark te permet facilement de changer le nombre de répétitions de ta procédure pour obtenir des mesures significatives (un benchmark trop court est toujours imprécis, même avec une horloge précise).

    --
    Jedaï

  12. #12
    Membre émérite
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Points : 2 673
    Points
    2 673
    Par défaut
    Citation Envoyé par Jedai Voir le message
    D'une part tu peux améliorer la précision des mesures en donnant l'option :hireswallclock au chargement du module, d'autre part Benchmark te permet facilement de changer le nombre de répétitions de ta procédure pour obtenir des mesures significatives (un benchmark trop court est toujours imprécis, même avec une horloge précise).

    --
    Jedaï
    Merci pour ces précisions, je vais regarder le module Benchmark de plus près.
    -- Jasmine --

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

Discussions similaires

  1. soucis de reg exp
    Par glouffy6 dans le forum Langage
    Réponses: 4
    Dernier message: 31/07/2007, 14h05
  2. galère avec les reg exp
    Par glouffy6 dans le forum Langage
    Réponses: 1
    Dernier message: 18/07/2007, 16h34
  3. Réponses: 3
    Dernier message: 10/10/2006, 11h15
  4. reg exp : caracteres speciaux
    Par frouge dans le forum Langage
    Réponses: 2
    Dernier message: 07/06/2006, 17h49

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