8 de enero de 2026

NCBI Blast 2.17.0+ es más rápido y acepta FASTAs comprimidos

ola de nuevo.

Siguiendo con la serie de entradas sobre BLAST en este blog, hoy os comento que mientras actualizaba el código de https://github.com/eead-csic-compbio/get_homologues he descubierto que había una versión de NCBI Blast, la 2.17.0+, publicada el pasado verano. 

Revisando la lista de cambios respecto a la versión anterior me llamaron la atención estos dos:

  1. makeblastdb supports compressed in gzip, bzip2, and zstd formats
  2. Improved search speed of blastp with -task blastp-fast

La primera resuelve un problema que me ha afectado muchas veces, y evita que tengas que descomprimir un fichero FASTA de gran tamaño antes de indexar un conjunto de secuencias, una operación que a veces tarda mucho tiempo.

La segunda, que en realidad se estrenó en la versión 2.2.30+, permite acelerar las búsquedas con blastp, blastx y tblastn. Según los autores, acelera las búsquedas contra la colección no redundante de proteínas (nr) un 20%, siendo 2-3x más rápido con colecciones más pequeñas como swissprot o pdbaa. Para blastp y blastx se pierde un 3% de sensibilidad.

Hice una prueba rápida en mi máquina:

time ncbi-blast-2.17.0+/bin/blastp -task blastp-fast -query fnr.faa \
	-db sprot.fasta -outfmt 6 > f

real    0m1.113s
user    0m0.713s
sys    0m0.028s

time ncbi-blast-2.17.0+/bin/blastp -task blastp -query fnr.faa \
	-db sprot.fasta -outfmt 6 > s

real    0m3.945s
user    0m2.925s
sys    0m0.040s

wc -l s f
  113 s
   32 f

diff <(head -30 s) <(head -30 f)

Observo que los primeros 30 resultados son idénticos en ambas búsquedas, y que la estrategia -task blastp en este caso es mucho más sensible, produciendo 81 alineamientos más, todos ellos cortos y con identidades bajas. Si no necesitas estos últimos -task blastp-fastp es para ti.

Hasta pronto,

Bruno

7 de enero de 2026

Parecidos ocultos entre proteínas revelados por inmersión

Hola de nuevo, y feliz año. En la primera entrada del año quería compartir una reseña que me he encontrado en https://doi.org/10.1073/pnas.2524802122 y que me ha recordado que en las JBI2025 me perdí la charla de Ana Rojas, donde creo que habló de este tema. Se resume en la siguiente figura:

A three-panel figure shows protein language model embeddings, site-by-site approach, and sequence and embedding space.
Detección de convergencia molecular usando inmersiones de modelos de lenguaje proteico, tomada de https://doi.org/10.1073/pnas.2524802122.

En el diagrama se explica cómo un modelo de lenguaje proteico (PLM), entrenado en grandes conjuntos de secuencias de aminoácidos para predecir letras enmascaradas, permiten calcular inmersiones o embeddings para cada posición de una secuencia. Éstos son vectores multidimensionales que capturan información sobre la evolución de cada posición de la secuencia y que finalmente se pueden usar para calcular distancias o similitudes entre proteínas. Lo interesante es que permiten ir más allá que los métodos convenciones de construcción de perfiles, como PSI-BLAST o HMMER, puesto que pueden encontrar huellas de convergencia indetectables por éstos (homólogos de murciélago y ballena en la figura, hay más ejemplos en artículo completo).

NOTA: sobre la traducción de embedding por parte de un matemático (Carlos Castro): "Es una inmersión. Se usa para representar un conjunto que puede verse como parte de otro. Se dice que hay una inmersión del conjunto pequeño en el grande.".