17 de octubre de 2011

Adiós a ClustalW

Hola,
en esta entrada quería enterrar al ya vetusto ClustalW, el programa de alineamiento múltiple más citado de la historia. En realidad lo acaban de enterrar sus propios autores en este artículo, donde presentan a su sucesor Clustal Omega. Como es habitual en Bioinformática, los autores ponen a prueba el nuevo programa de alineamiento comparándolo con las principales opciones de software disponibles, incluyendo al viejo ClustalW. Las comparaciones son bastante extensas, usando hasta 3 baterías de alineamientos, como son BALiBASE y HomFam (creadas por el entorno de Clustal) y Prefab, creada por el autor de MUSCLE, Robert Edgar. En la siguiente tabla, abreviada de la original, se muestran los resultados promediados sobre el conjunto BALiBASE de 218 familias de proteínas:


AlignerAv score (218 families)





Tot time (s)

MSAprobs0.607





12 382.00
Probalign0.589





10 095.20
MAFFT (auto)0.588





1475.40
Probcons0.558





13 086.30
Clustal 0.554





539.91
T-Coffee0.551





81 041.50
Kalign0.501





21.88
MUSCLE0.475





789.57
MAFFT (default)0.458





68.24
FSA0.419





53 648.10
Dialign0.415





3977.44
PRANK0.376





128 355.00
ClustalW0.374





766.47
En cuanto a poder decir si efectivamente Clustal Omega es el mejor alineador disponible en la actualidad habrá que esperar el veredicto de la comunidad y ver qué le parecen a Rober Edgar los parámetros de MUSCLE que se usaron en las pruebas, pero no parece superar en precisión a MAFFT en modo automático.
Sin embargo, las tablas del artículo (1 , 2 , 3) muestran que la inclusión de modelos ocultos de Markov (HMMs) y árboles guía mBed produce alineamientos de mucha mayor calidad (y en menor tiempo) que ClustalW, que es más lento para producir peores alineamientos. Clustal Omega puede alinear conjuntos de miles de secuencias, pero por el momento, sólo de aminoácidos, por lo que talvez sigamos usando ClustalW o MAFFT para alinear nucleótidos, no?

Por cierto, al compilar el código fuente de http://www.clustal.org/omega/clustal-omega-1.0.3.tar.gz en mi Ubuntu 10.04 tuve que instalar el paquete libargtable2-dev , un saludo,
Bruno

7 de octubre de 2011

Perl Moderno?

Hoy me gustaría recomendar 'Modern Perl', que es un librito curioso porque:



1) contiene muchas recetas explicadas a base de ejemplos sobre los diferentes aspectos del lenguaje Perl, reflexionando sobre el famoso principio 'there is more than way to do it' y sobre las ventajas de unas maneras sobre otras de hacer la misma operación. Por ejemplo, se explica que el siguiente bucle:

 my @tripled;  
 my $count = @numbers;  
 for (my $i = 0; $i < $count; $i++)  
 {  
   $tripled[$i] = $numbers[$i] * 3;  
 }  

se puede expresar también como:

 my @tripled = map { $_ * 3 } @numbers;  

También por ejemplo muestra que igual que escribimos a un archivo podemos hacerlo a una variable escalar:
 my $captured_output;  
 open(OUTSTRING,'>',\$captured_output);  


2) es adecuado para principiantes del lenguaje y para gente más experta, ya que reflexiona sobre cuestiones de estilo y eficiencia, y además propone módulos clave de CPAN para facilitarnos la vida y hacer el código más robusto y portable

3) los autores del libro han dispuesto su libre descarga en diferentes formatos, por ejemplo en PDF

Que aproveche,
Bruno


22 de septiembre de 2011

Regulación por microRNAs exógenos de la dieta?

Hola,
uno de los temas principales que estudiamos en nuestro laboratorio es la regulación de la expresión génica, que como sabéis puede darse a varios niveles.
Si hace poco nuestro colega Lorenz Bülow nos contaba en un seminario de la EEAD  la integración de la regulación transcripcional y postranscripcional en la planta modelo Arabidopsis thaliana, organizada en la base de datos relacional AthaMap, hoy descubro un artículo reciente en Cell Research donde los autores publican evidencia de la presencia de cerca de 30 microRNAs de arroz en muestras de sangre de poblaciones humanas y de ganado en China. El artículo, que parte de muestreos masivos de secuencias y luego confirma los resultados por PCR, sugiere de manera convincente que algunos microRNAs expresados en el grano de arroz, dieta fundamental de las poblaciones estudiadas, pueden regular la expresión génica de sus comensales. Seguro que el artículo será puesto a prueba en posteriores análisis y estudios, para validarlo de manera inequívoca, porque estas observaciones desvelan dos hechos que sin duda tendrán mucho impacto:
1) puede haber transferencia de ácidos nucleicos de las plantas a los mamíferos que se las comen, a pesar de la digestión
2) puede haber fenómenos de regulación genética en la naturaleza a través de la dieta sin que medien hormonas, directamente por microRNAs, moléculas en torno a los 22 ribonucleótidos de tamaño, capaces de atravesar los epitelios del tracto digestivo

fuente: http://mcb.berkeley.edu/labs/he/Research.htm
Recomiendo la lectura de la fuente original y si tenéis algo que añadir por favor usad los comentarios, un saludo,
Bruno

15 de septiembre de 2011

Guía de campo de tecnologías de secuenciación

Hola,
ayer me encontré en la Red una revisión, publicada en Mayo de 2011 por TC Glenn, que contiene la siguiente tabla, muy útil  para comparar de un vistazo las plataformas de secuenciación de segunda generación disponibles actualmente:

Tabla original publicada en Molecular Ecology Resources
Esta tabla se complementa con otras disponibles en la 'NGS Field Guide', actualizadas regularmente, incluyendo por ejemplo los costes y los tipos de errores más frecuentes en cada una de ellas. De hecho habrá que esperar para tener datos empíricos de los errores típicos de la plataforma IonTorrent, que por ahora se basan en datos proporcionados por la compañía (previas a su publicación en Nature el pasado mes de Julio).
Hasta otra, Bruno


9 de septiembre de 2011

Leyendo archivos comprimidos .gz

Hola,
tras la entrada 'Compresión de secuencias de ADN', que ya utilizaba el módulo estándar Compress::Zlib, en este ejemplo se muestra como leer línea a línea un archivo comprimido con los algoritmos de la librería zlib. En particular este ejemplo lee un archivo FASTA de gran tamaño sin necesidad de descomprimirlo entero.  Lo he probado con éxito en Linux (con el intérprete Perl que viene instalado en Ubuntu 10.04) y también en Windows (con ActiveState Perl).

 use strict;  
 use Compress::Zlib;  
 # http://perldoc.perl.org/Compress/Zlib.html  
   
 my $filename = '/path/to/swissprot.gz';  
 # ftp://ftp.ncbi.nlm.nih.gov/blast/db/FASTA/  
   
 my $gz = gzopen($filename,'rb') ||   
    die "# Cannot open $filename: $gzerrno\n" ;  
 while($gz->gzreadline($_) > 0)   
 {  
   # haz algo con esta linea, guardada en $_, por ejemplo   
   # imprime los identificadores GenBank encontrados  
    if($_ =~ /^>/ && /(gi\|\d+)/){ print "$1\n" }  
 }  
   
 if($gzerrno != Z_STREAM_END)  
 {  
    die "# Error reading from $filename: $gzerrno\n"  
 }  
   
 $gz->gzclose();  

Hasta pronto, Bruno