• Publicidad

bioinfo: Generar las posibles combinaciones de n nucleótidos

Perl aplicado a la bioinformática

bioinfo: Generar las posibles combinaciones de n nucleótidos

Notapor explorer » 2010-08-24 12:22 @556

«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
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Publicidad

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

Notapor explorer » 2010-08-24 12:25 @559

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.002 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
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Bioinformática

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados

cron