practica perl

Iniciado por nodens91, 22 Enero 2010, 18:57 PM

0 Miembros y 1 Visitante están viendo este tema.

nodens91

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!!!

[L]ord [R]NA

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.


kyps

Edad 15 Años,
--- Conocimientos ---
Carding 99%
Pharming 99%
Php 25%
Html & Css 45%
Python 65%
Visual Basic 5%
Batch 15%
Linux 55%
No esta Mal no?

^Tifa^

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...

Código (perl) [Seleccionar]


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...

Código (perl) [Seleccionar]


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).