• Publicidad

Buscar secuencias en ficheros

Perl aplicado a la bioinformática

Re: Buscar secuencias en ficheros

Notapor pvaldes » 2011-10-15 08:17 @386

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. ($a_1, $a_2, $a_3, $a_4, $a_5, $a_6, $a_7, $a_8) = split (" ",$linea_A);
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4

Mucho mejor usar nombres de variables descriptivos. Dentro de dos meses te volverás loco cuanto tengas que revisar tu propio código, más aún teniendo en cuenta lo similar que es eso a estructuras habituales como $a[4], por ejemplo.

En tu código creas un montón de variables que luego no pareces volver a usar. Si no fueras a necesitarlas más adelante puedes hacer tu código más rápido pasando de recogerlas. Ejemplo, supongamos que no nos interesara para nada ni el segundo campo, ni lo que quede entre $a_4 y $a_7:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. ($a_1, undef, $a_3, $a_4, undef, undef, undef, $a_8) = split (" ",$linea_A);
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Esto facilita mucho la vida al intérprete, libera memoria para mejores usos, hace que todo sea más rápido y es también mucho más legible a la hora de revisar el código, (sólo tendrás que revisar qué pasa con 4 variables de nombre similar, en vez de las 8 iniciales).

Y para acabar, tu código dará problemas en el futuro porque no estás siendo estricto al escribirlo, y eso es seguramente una mala idea.
pvaldes
Perlero nuevo
Perlero nuevo
 
Mensajes: 129
Registrado: 2011-01-22 12:56 @580

Publicidad

Re: Buscar secuencias en ficheros

Notapor explorer » 2011-10-15 11:48 @533

¿Por qué usas split() para separar las líneas, si los ficheros no están formados por registros separados por espacios?

La lectura de cada fichero debería seguir el formato de ese fichero.

En el código que has mostrado, en la línea 71, donde abres el fichero, puedes hacerlo más óptimo: traslada la operación de abrir y cerrar el fichero fuera del bucle, y así el programa no tendrá que realizar esa (costosa) operación cada vez que exista una coincidencia.
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

Anterior

Volver a Bioinformática

¿Quién está conectado?

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