• Publicidad

Extracción de líneas y su almacenamiento en array

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Extracción de líneas y su almacenamiento en array

Notapor Ponciano » 2009-03-31 16:17 @720

¡Hola! Soy nuevo en el foro y también en Perl. Mucho agradeceré si alguien me ayuda a escribir un script que lea un archivo con la siguiente estructura:

Código: Seleccionar todo
>texto
letras1
letras2
letras3
*
>texto
letras4
letras5
letras6
*
>texto
.
.
Deseo extraer sólo las líneas que contienen "letrasx" de cada uno de los bloques >texto, concatenar las que pertenecen al mismo bloque y guardarlas en un arreglo que contenga algo así como:
@array (letras1letras2letras3, letras4letras5letras6,....,)
Llevo ya días leyendo tutoriales pero no me sale. Cualquier ayuda, como comenté, la agradeceré.
Ponciano
Perlero nuevo
Perlero nuevo
 
Mensajes: 13
Registrado: 2009-03-31 10:08 @463

Publicidad

Notapor explorer » 2009-03-31 17:40 @777

Bienvenido a los foros de Perl en Español, Ponciono.

Ese formato de fichero se parece mucho al FASTA, ¿no?

Por aquí hay algunos hilos que muestran cómo leerlo. Usa el sistema de búsqueda (busca por fasta).

El último es de Biokari.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Solución a la primera parte, ¡gracias!

Notapor Ponciano » 2009-04-01 03:40 @194

¡Hola!
Gracias, explorer. He revisado otras consultas como me has indicado y he podido extraer las secuencias del archivo (efectivamente, FASTA) y que las imprima.

Ahora me he entretenido en tratar de guardar cada una de ellas como un elemento de un arreglo porque deseo compararlas entre ellas, elemento por elemento, y generar un archivo de salida con las secuencias "depuradas". Me explico más: empiezo recorriendo la segunda secuencia y cada elemento de ésta lo comparo con el elemento equivalente en la primera secuencia, si ésta última secuencia ese elemento es un gap, elimino el elemento en la segunda secuencia, sea gap o residuo. Guardo esta segunda secuencia "nueva" y me sigo con la tercera. Nuevamente, ésta la comparo elemento a elemento con la primera secuencia y el mínimo los elementos de la tercera secuencia siempre que esa posición equivalga a un gap en la primera secuencia. Guardo esta tercera secuencia "nueva" en el mismo fichero generado ya con la segunda secuencia "nueva", y así sucesivamente. De verdad que estoy esforzándome por comprender Perl, y he avanzado mucho, pero sigo sin poder hacerlo esta tarea yo mismo.

¿Podrías seguir ayudándome?
Ponciano
Perlero nuevo
Perlero nuevo
 
Mensajes: 13
Registrado: 2009-03-31 10:08 @463

Notapor explorer » 2009-04-01 04:14 @218

Pues sí, podemos ayudarte, pero necesitamos ver algo de código, del que estás usando para guardar tu estructura de datos. Si no, no sabemos cómo hacer esas comparaciones.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor Biokari » 2009-04-01 07:39 @361

¡¡¡Hey!!!

¡¡¡¡¡¡Creo que estamos haciendo lo mismo!!!!!! mmmmm

No sé si has leído mis post. explorer te ha puesto el link para verlo. Ojalá que te ayuden.

Ahora yo también deseo poder compararlos como tu, pero aun no llego a eso.

Algo me dice que eres un bioinformático como yo (en realidad me ha costado tanto esto que no sé si podré llamarme bioinformática).

Todos tenemos el mismo problema (los bioinformáticos) tratar de entender la programación cuando has hecho ciencias toda tu vida...

Bueno, ojalá que avancemos en esto, daré noticias si llego a algo.

Bye
Biokari
Perlero nuevo
Perlero nuevo
 
Mensajes: 13
Registrado: 2009-03-30 13:24 @600

Saludos

Notapor Ponciano » 2009-04-01 07:47 @366

¡Hola!

Sí, he leído tus post, de hecho me ha ayudado lo que ahí dice. Yo también he hecho toda mi vida experimental y ahora tengo la necesidad de hacer un poco de cómputo y se me hace complicado eso de la programación. Tengo un par de días intentado lo que ya has leído y no puedo... Ahora mismo espero respuesta de explorer. En cuanto tenga algo te informo.

Gusto.
Ponciano
Perlero nuevo
Perlero nuevo
 
Mensajes: 13
Registrado: 2009-03-31 10:08 @463

Notapor explorer » 2009-04-01 18:42 @820

Hummm.... he leído con atención los problemas de Ponciano y Biokari y me parece que no son el mismo.

Biokari ya ha publicado un gráfico donde muestra el procedimiento que quiere hacer, pero la descripción de Ponciano no concuerda con ella.

Necesitaría ver un ejemplo de lo que quieres hacer para comparar esas secuencias.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor Biokari » 2009-04-06 09:35 @441

Y, ¿cómo vas? ¿has logrado algo? :)
Biokari
Perlero nuevo
Perlero nuevo
 
Mensajes: 13
Registrado: 2009-03-30 13:24 @600

Notapor Ponciano » 2009-04-06 09:58 @457

¡Hola!

Estoy avanzando a paso lento, mmmm, el no saber Perl desde antes no estuviera pasándome esto. Creo que tiene razón Explorer, son cosas parecidas pero no iguales lo que estamos intentando hacer. Ahora mismo he enviado el script que tengo y para ver si alguien me ayuda a terminar con un problemita, lo puedes ver en el foro. ¿Cómo vas tú?
Ponciano
Perlero nuevo
Perlero nuevo
 
Mensajes: 13
Registrado: 2009-03-31 10:08 @463


Volver a Básico

¿Quién está conectado?

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

cron