Bonjour,


J'aimerais savoir comment résoudre mon problème de façon la plus optimale possible. Excepté en faisant une série de boucles, je ne vois pas comment faire.

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
# Récupérer toutes les combinaisons possibles
# GtcgggtacggGaat
# GtcgggtacggTaat
# AtcgggtacggGaat
# AtcgggtacggTaat
 
my $Sequence = "RtcgggtacggKaat";
 
my %Correspondances =
(
        'R' => ["G", "A"],
        'K' => ["G", "T"],
        'S' => ["G", "C"],
        'W' => ["A", "T"],
        'M' => ["A", "C"],
        'Y' => ["T", "C"],
        'D' => ["G", "A", "T"],
        'V' => ["G", "A", "C"],
        'B' => ["G", "T", "C"],
        'H' => ["A", "T", "C"],
        'N' => ["A", "T", "C", "G"],
);
 
my @CompteDeg = $Sequence =~ /[RKSWMYDVBHN]/ig;
J'ai donc la séquence RtcgggtacggKaat et j'aimerais remplacer le R et le K par leurs valeurs en récupérant toutes les combinaisons possibles (4 ici).
# GtcgggtacggGaat
# GtcgggtacggTaat
# AtcgggtacggGaat
# AtcgggtacggTaat

Merci beaucoup,


Jasmine,