Contar apariciones de tripletas en secuencias de bases
¡Hola! Tengo que hacer una práctica para la universidad y hay algunos ejercicios que no sé cómo empezarlos.
Aquí os los dejo... espero que alguien me pueda ayudar a resolverlos... ¡por favor...!
Suponiendo que tenemos una secuencia de bases en una string:
$a="ATTCCTGATGCGACCCCT";
Puede ser útil utilizar la función length(), que devuelve el tamaño de un string.
1.- Decir cuántas veces aparece la tripleta CCT (estas 3 bases o letras) (en este caso, 2).
2.- Contar cuántas bases hay de cada tipo. Utilizar un hash. Al final debéis mostrar cada base y su número de apariciones (en este caso A:3 T:5 C:7 G:3).
¡¡¡Muchas graciaas!!! Es un poco urgente así que cuanto antes me podáis contestar, ¡¡mejor!!
¡¡¡GRACIAS!!!
Lee las reglas, aqui no se hacen tareas para otras personas, no se hacen practicas de la universidad, no se hacen tesis, ni codigos por pedido.
len($a)
CitarSuponiendo que tenemos una secuencia de bases en una string:
$a="ATTCCTGATGCGACCCCT";
Puede ser útil utilizar la función length(), que devuelve el tamaño de un string.
1.- Decir cuántas veces aparece la tripleta CCT (estas 3 bases o letras) (en este caso, 2).
Algo mas o menos asi te podria servir...
my $arreglo = "ATTCCTGATGCGACCCCT";
my @a = split(//, $arreglo);
my $contador = 0;
for ( my $numero = 0 ; $numero < length(@a); $numero++ ) {
if ( $a[$numero] . $a[$numero] . $a[$numero] =~ /CCT/ ) {
$contador = $contador+1;
}
}
print "Existen " . $contador . " Juegos de CCT\n";
Citar2.- Contar cuántas bases hay de cada tipo. Utilizar un hash. Al final debéis mostrar cada base y su número de apariciones (en este caso A:3 T:5 C:7 G:3).
Conste que no utilizo 'hash' en el siguiente ejemplo, sino un arreglo...
my @a = split(//, $arreglo);
my ($contador1, $contador2, $contador3, $contador4);
for (my $numero = 0; $numero < length($arreglo); $numero++) {
if ( $a[$numero] =~ /A/ ) {
$contador1 = $contador1+1;
} elsif ( $a[$numero] =~ /T/ ) {
$contador2 = $contador2+1;
} elsif ( $a[$numero] =~ /C/ ) {
$contador3 = $contador3+1;
}
}
printf("Existe %i:A\n", $contador1);
printf("Existe %i:T\n", $contador2);
printf("Existe %i:C\n", $contador3);
Son ejemplos funcionales, si quieres usar hash deberas crear primero el indice de referencia al valor o sea:
my %variable = 'a' => 5
Asi cuando llames a $variable{a} obtendras el valor 5.... (Lo hice en un arreglo a proposito... ya que te piden hash en el segundo ejercicio, lo posteado por mi es un ejemplo que te serviria de guia).