Página 1 de 1

bioinfo: Generar las posibles combinaciones de n nucleótidos

NotaPublicado: 2010-08-24 12:22 @556
por explorer
«Erróneamente decimos que queremos generar todas las posibles 'combinaciones' de n letras, nucleótidos o aminoácidos cuando el término correcto sería 'permutaciones con repetición' (Combinations & permutations). Por ejemplo, las 16 posibles permutaciones con repetición de 2 nucleótidos serían: AA, AC, AG, AT, CA, CC, CG, CT, GA, GC, GG, GT, TA, TC, TG, TT. El número de permutaciones con repetición de n nucleótidos es 4^n y de n aminoácidos 20^n.»

Artículo

Re: bioinfo: Generar las posibles combinaciones de n nucleótidos

NotaPublicado: 2010-08-24 12:25 @559
por explorer
Soluciones en varios Perl distintos.

Perl v6: solución para dos nucleótidos
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
use v6;
say (<A C T G> X~ <A C T G>).join('-');
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


Perl v6: solución para cuatro nucleótidos
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
use v6;
my @a = <A T C G>;
say ((@a X~ @a) X~ (@a X~ @a)).join(' ');
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Perl v5, con el módulo Algorithm::Combinatorics, de Xavier Noria, que implementa algunas de las funciones de combinatoria, pero escritas en puro C compilado.
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
use Algorithm::Combinatorics "variations_with_repetition";
my @permutaciones = variations_with_repetition([qw(A T C G)], 4);
for $c (@permutaciones) {
    print @$c, "\n";
}
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4