Puntuación y consenso
Publicado: 2017-01-08 19:07 @838
Hola, estoy realizando el siguiente script:
Mi duda es que una vez llegado a este punto me piden que calcule la máxima puntuación que devuelve la matriz y que devuelva la secuencia consenso, pero no consigo enfocarlo.
Si alguien me pudiera dar algunas indicaciones para hacer lo primero...
Muchas gracias.
Using perl Syntax Highlighting
- #Enumeración de motivos
- sub motifs {
- my $t =$_[0];
- my $k = $_[1];
- my @s =@{$_[2]};#Lista pasada por referencia
- my @secuencias = @{$_[3]};
- my @motifs=();
- for (my $i=0; $i< scalar @s; $i++) {
- my $indice =$s[$i];
- my $secuencia =$secuencias[$i];
- my $k_mero = substr ($secuencia,$indice,$k);
- push @motifs,$k_mero;
- }
- return @motifs;
- }
- sub profile{
- my ($t,$k,@motifs) =@_;
- my %tabla =();
- my @bases = ("A","C","G","T");
- foreach my $base (@bases){
- my @lista_ceros =();
- for (my $i =0; $i<$k;$i++){
- push @lista_ceros,0;
- }
- $tabla{$base} = \@lista_ceros;
- }
- return %tabla;
- #LO primero que tengo que hacer es inicializar la tabla, un buen punto de partida es poner ocho ceros
- #declarar una tabla con ocho ceros
- }
- my $t1 = 5;
- my $k1 = 8;
- my @s1 =(6,20,23,10,11);
- my @secuencias1 = (
- "CGCCCCTCTCGGGGGTGTTCAGTAAACGGCCA",
- "GGGCGAGGTATGTGTAAGTGCCAAGGTGCCAG",
- "TAGTACCGAGACCGAAAGAAGTATACAGGCGT",
- "TAGATCAAGTTTCAGGTGCACGTCGGTGAACC",
- "AATCCACCAGCTCCACGTGCAATGTTGGCCTA",
- );
- my @resultado1 = motifs($t1,$k1,\@s1,\@secuencias1);
- print join (" ", @resultado1, "\n");
- my %tabla1 = profile($t1,$k1, @resultado1);
- foreach my $base (keys%tabla1){
- my @lista = @{$tabla1{$base}};#Me quedo con una copia de la lista a la que referencia
- print "Base" ,$base," ",join(" ",@lista), "\n";
- }
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
Mi duda es que una vez llegado a este punto me piden que calcule la máxima puntuación que devuelve la matriz y que devuelva la secuencia consenso, pero no consigo enfocarlo.
Si alguien me pudiera dar algunas indicaciones para hacer lo primero...
Muchas gracias.