PDF de programación - LINUX Y PERL, integración de herramientas informáticas para estudio y análisis de información biológica

Imágen de pdf LINUX Y PERL, integración de herramientas informáticas para estudio y análisis de información biológica

LINUX Y PERL, integración de herramientas informáticas para estudio y análisis de información biológicagráfica de visualizaciones

Actualizado el 23 de Julio del 2017 (Publicado el 17 de Julio del 2017)
516 visualizaciones desde el 17 de Julio del 2017
362,7 KB
9 paginas
Creado hace 19a (13/04/2005)
LinuxFocus article number 374
http://linuxfocus.org

LINUX Y PERL, integración de
herramientas informáticas para estudio y
análisis de información biológica

por Carlos Andrés Pérez
<caperez(at)usc.edu.co>

Sobre el autor:

Resumen:

Carlos Andrés Pérez es
especialista en Simulación
Molecular, Doctorando en
Biotecnología. Asesor técnico
del Grupo de Investigación
en Educación Virtual
(GIEV). Dirección:
Universidad Santiago de Cali,
Calle 5ª carrera 62 Campus
Pampalinda, Cali &ndash;
Colombia.

El presente artículo pretende exponer algunas de las ventajas de la
programación en Perl bajo entornos Uníx, para la extracción de información
biológica de las bases de datos de secuencias de DNA, RNA y proteínas, con
el fin de utilizarlas en procesos comparativos o de análisis. El proyecto
Genoma Humano y las diferentes técnicas de clonación de DNA han
acelerado el proceso de generación de información sobre la secuencia de
muchos genes funcionales a tal punto que la información sobre secuencias
genéticas que se genera a diario supera la capacidad de analizar dicha
información desde el punto de vista evolutivo y los procesos de interacción
de estos genes y su forma de regularse. La rápida proliferación de la
información biológica sobre diferentes genomas (dotación de genes de un
organismo) está constituyendo a la bioinformática como una disciplina
fundamental para el manejo y análisis de estos datos.

_________________ _________________ _________________

Bioinformática

La bioinformática nace cuando se empiezan a almacenar las secuencias biológicas en un formato digital y
surgen los primeros programas para compararlas. Durante mucho tiempo la bioinformática se limito al análisis
de secuencias . Sin embargo, la importancia de establecer la forma estructural de las moléculas hace que las
computadoras se conviertan en una importante herramienta investigación en Bioquímica teórica. Cada vez hay
más información y más colecciones de datos sobre la conformación 3D de las moléculas. La expresión de los
genes ha pasado de estudiarse en forma individual a hacerlo sobre el conjunto completo, o una parte muy
extensa, de los genes de un organismo. Se comprende la importancia de la interacción entre genes, entre

1/9

proteínas y su organización en las rutas metabólicas. Y cada vez más nos percatamos de la necesidad de
utilizar todo este colosal conjunto de datos de forma integrada.

Cada una de las actividades descritas tienen al menos dos caras desde las que resultan interesantes. Por una
parte es indudable el interés biológico de conocer las relaciones entre las moléculas de la vida, y por otra parte
se hace interesante el conjunto de problemas computacionales que se plantean. Es indudable la necesidad de
combinar e integrar la información biológica para obtener una visión global y efectiva de los procesos
biológicos que subyacen en ella. De la misma forma nos hemos percatado de la necesidad de combinar las
diferentes áreas de la informática para dar una solución efectiva. No solo se trata de gestión de bases de datos,
también de integración de datos; no solo de algoritmos eficientes, sino de hardware potente −grids,
multiprocesadores, etc; no solo de algoritmos exactos, sino también de aprendizaje y heurísticos.

Perl

Larry Wall comenzó el desarrolló de Perl en 1986. Perl es un lenguaje de programación interpretado, ideal
para manipular textos, ficheros y procesos. Perl permite desarrollar rápidamente trabajos que normalmente se
realizarían en C o en alguna Shell. Podría decirse que Perl es una mezcla optimizada de un lenguaje de alto
nivel (por ejemplo C) y un lenguaje de script (por ejemplo bash).

Lo que se programe en Perl se puede ejecutar en varios sistemas operativos/plataformas. No obstante, donde
nació y donde más se ha difundido es bajo el sistema operativo UNIX, es un intérprete de código, un lenguaje
de programación, pensado inicialmente para recoger en un único lenguaje ampliado las características de
varios. Perl sobrepasó con creces sus objetivos iniciales especialmente por el impulso que recibió su
inmediato uso como programador web. Antes que Perl se utilizaban awk, sed y grep para analizar ficheros y
extraer de ellos información que permitieran ejecutar acciones.

Perl reunió las posibilidades de estas ideas UNIX en un sólo programa ampliando y modernizando cada
función y haciéndolamás potente, práctica y más rápida.

Perl es un lenguaje de programación gratuito y se puede ejecutar en cualquiera de los sistemas operativos que
generalmente se encuentran en los laboratorios de investigaciones biológicas, aunque presenta una gran
integralidad con Uníx y Linux. En UNIX y MacOSX viene instalado, en los demás hay que instalarlo. Basta
con obtenerlo del sitio: http://www.cpan.org/ para el sistema que estemos usando.

Los programas en perl bajo Linux se pueden Llamar con el nombre del fichero que contiene las instrucciones
a ejecutar. Es lo más usual. Las instrucciones están guardas en un fichero y se llama a perl con el nombre del
fichero como argumento.

Otro método tan frecuente como el anterior es el de guardar las instrucciones Perl en un fichero pero sin
llamar a Perl explícitamente. Para ello se tienen que hacer dos cosas: (a) poner un indicativo especial en la
primera línea del programa:

#!/usr/bin/env perl

print "Hola\n";

y (b) guardar el fichero y asignarle el atributo UNIX de fichero ejecutable:

% chmod +x saludo.pl

2/9

Una vez hecho esto se puede llamar al fichero−programa cuantas veces se desee directamente por su nombre,
llegando a olvidarse finalmente que es un programa Perl. De hecho la extensión muchas veces se quita a este
tipo de programas quedando mezcladas con las utilidades del sistema.

Manipulación de Ficheros en Perl:

Cuando tenemos una base de datos de secuencias moleculares en formato texto, una posible herramienta que
podemos crear con Perl, es un buscador de secuencias. Así, en este ejemplo, vamos a ver como se puede
buscar una secuencia de proteínas en una base de datos con formato SWISS−PROT (db_human.swissprot), a
partir de su código de identificación.

#!/usr/bin/perl
# Buscar una secuencia de aminoacidos en una base de datos
# con formato SWISS−PROT, dado un codigo de identificacion
# Pide el codigo de identificacion que esta en el campo ID
# y lo pasa de la entrada estandar (STDIN) a una variable
print "Introduce el ID de la secuencia a buscar: ";
$id_query=<STDIN>;
chomp $id_query;
# Abrimos el fichero de la base de datos
# pero si no se puede, finaliza el programa
open (db, "human_kinases.swissprot") || die "problema abriendo el fichero human_kinases.swissprot\n";
# Miramos linea por linea en la base de datos
while (<db>) {
chomp $_;
# Comprobamos si estamos en el campo ID
if ($_ =~ /^ID/) {
# Si estamos en el campo ID, recogemos el identificador
# fragmentando la linea por espacios
($a1,$id_db) = split (/\s+/,$_);
# Pero si no es el ID elegido, pasamos a la siguiente linea
next if ($id_db ne $id_query);
# Y si lo es, ponemos un marcador
$signal_good=1;
# Luego comprobamos si estamos en el campo de la secuencia
# y si, a la vez, el marcador estaba puesto a 1 (secuencia elegida)
# Si es asi, ponemos el marcador a 2, para asi recoger la secuencia
} elsif (($_ =~ /^SQ/) && ($signal_good==1)) {
$signal_good=2;
# Finalmente, si la marca es igual a 2, presentamos cada linea
# de la secuencia, hasta que la linea comience por //
# en cuyo caso nos salimos del bucle del while
} elsif ($signal_good == 2) {
last if ($_ =~ /^\/\//);
print "$_\n";
}
}
# Al salir del bucle, comprobamos si la marca existe
# y si no es asi, es que no hemos encontrado la secuencia elegida
# con lo que daremos un error
if (!$signal_good) {
print "ERROR: "."Secuencia no encontrada\n";
}
# Por ultimo, cerramos el fichero de la base de datos,
# que aun estaba abierto
close (db);
exit;

3/9

Búsqueda de patrones de aminoácidos

#!/usr/bin/perl
# Buscador de patrones aminoacidicos
# Pide al usuario el patron aminoacidico a buscar
print "Por favor, introduce un patron para buscar en query.seq: ";
$patron = <STDIN>;
chomp $patron;
# Abrimos el fichero de la base de datos
# pero si no se puede, finaliza el programa
open (query, "query.seq") || die "problema abriendo el fichero query.seq\n";
# Miramos linea por linea la ficha SWISS−PROT
while (<query>) {
chomp $_;
# Cuando lleguemos al campo SQ, ponemos el marcador a 1

if ($_ =~ /^SQ/) {

$signal_seq = 1;
# Cuando lleguemos al final de secuencia, nos salimos del bucle

# Obsevar que esta expresion la ponemos antes de comprobar si

# el marcador=1, ya que esta linea no corresponde a la secuencia

# aminoacidica en si

} elsif ($_ =~ /^\/\//) {

last;
# Comprobamos si el marcador esta puesto a 1, y si es asi,

# eliminamos los espacios en blanco de la linea de secuencia

# y vamos concatenando cada linea en una nueva variable

# Para concatenar, tambien podriamos haber puesto:

# $secuencia_total.=$_;

} elsif ($signal_seq == 1) {

$_ =~ s/ //g;

$secuencia_total=$secuencia_total.$_;

}

}
# Ahora comprobamos si la secuencia, recogida ya enteramente,

# contiene el patron dado

if ($secuencia_total =~ /$patron/) {

print "La secuencia query.seq contiene el patron $patron\n";

} else {

print "La secuencia query.seq no contiene el patron $patron\n";

4/9

}
# Por ultimo, cerramos el fichero de la secuencia

# y salimos del programa

close (query);

exit;

Si queremos saber la posición exacta en donde ha encontrado el patrón, tenemos que hacer uso de un variable
especial &lsquo;$&&rsquo;. Esta variable guarda el patrón encontrado después de evaluar una expresión
regular (habría que ponerlo justo después de la línea &lsquo;if ($secuencia_total =~ /$patron/) {&lsquo;.
Además se puede combinar con las variables &lsquo;$`&rsquo; y &lsquo;$´&rsquo; que guardan todo lo que
queda a la izquierda del patrón encontrado y a la derecha, respectivamente. Modifica el programa anterior con
estas nuevas variables, para d
  • Links de descarga
http://lwp-l.com/pdf5458

Comentarios de: LINUX Y PERL, integración de herramientas informáticas para estudio y análisis de información biológica (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad