#!/usr/bin/perl -w use Data::Dumper; print "Introduce el número de secuencias a generar aleatoriamente\n"; $var1 = ; print "Introduce el número de nucleótidos de la secuencia\n"; $var2 = ; $longitud = @bases; sub aleatorio { local @ns = (a,g,c,t); $lon = $_[1]; $col = $_[0]; @a = (); local $i = 0; local $u = 0; while ($u <= $col - 1 && $i <= $lon - 1) { $result = @ns[int(rand(4))]; $a[$u][$i] = $result; $i = $i + 1; if ($i == $lon ) { $u = $u + 1; $i = 0; } } return @a; } print Dumper(&aleatorio($var1,$var2)); $k = 0; $count = 0; $s1 = 0; $s2 = 1; while ($s1 <= $col - 2 && $s2 <= $col - 1 && $k <= $lon - 1 ) { if ($a[$s1][$k] eq $a[$s2][$k]) { $count = $count + 1; } $k = $k + 1; if($k == $lon ) { $k = 0; $s2 = $s2 +1; } if ($s2 == $col ) { $k = 0; $s1 = $s1 + 1; $s2 = $s1 + 1 ; } } for ($p = $col - 1, $r = $col -2; $r >= 0 ; $r--){ $p += $r; } print "El numero de nucleotidos identicos es: $count\n"; print "El numero de comparaciones es: $p\n"; $y = $count/$p; $cor = $y/$lon; print "La fraccion promedio de los nucleotidos identicos que estan en la misma posicion es: $cor";