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:
- makeblastdb supports compressed FASTA in gzip, bzip2, and zstd formats
- 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
