30 de junio de 2022

probamos OpenFold , la versión open source alphafold

Hola,

la semana pasada me encontré con este hilo donde Mo AlQuraishi publicaba que su grupo liberaba por primera vez OpenFold, la primera implementación de AlphaFold2 que podemos ejecutar localmente e incluso re-entrenar con PyTorch, permitiéndonos un control total del proceso. Como dicen los autores en el repositorio, OpenFold es "una reproducción fiel pero entrenable de AlphaFold2". Esto parece resolver la preocupación que expresaba en una entrada anterior sobre cuándo serían estos predictores de código abierto (lee más aquí).

https://pbs.twimg.com/media/FVzppu-UEAACeer?format=png&name=small 

Figura tomada de https://github.com/aqlaboratory/openfold

 

Como explica Mo, también han puesto a disposición de cualquiera los datos que usaron para entrenar OpenFold, siguiendo exactamente la metodología del artículo original de AlphaFold2. El código está disponible en https://github.com/aqlaboratory/openfold y se puede probar de varias maneras:

  • un cuaderno Colab (similar a ColabFold)
  • un contenedor Docker
  • un script python local con instrucciones de cómo hay que instalar las dependencias y los datos, un proceso largo y farragoso, pero el más adecuado para sacar partido a tu GPU


Hasta pronto,

Bruno


20 de junio de 2022

Hacia dónde va el lenguaje Perl (desde v5.36)?

Hola,

la semana pasada la perlfoundation.org lanzó una campaña para captar voluntarios (y donaciones) para el desarrollo de Perl (y Raku, lee más). Puedes leer los mensajes originales aquí y aquí. Es una excelente oportunidad si conoces Perl, tienes buen inglés y eres una persona activa en comunidades Open Source.

Como parte de esta iniciative han publicado un documento (o prospectus) donde entre otras cosas se resumen los planes futuros de desarrollo del lenguaje Perl, que me pareció interesante compartir con vosotros:

  • la recientemente liberada versión v5.36.0 , que se resume en:
    • diagnostics turned on
    • shed a bunch of weird anti-features that we’ve been discouraging for years
    • enable subroutine signatures
    • new features (like n-at-a-time iteration) and improved facilities for adding new features, like the new ‘builtin’ namespace
  • facilitar el trabajo con texto no-ASCII, como unicode, una de las áreas donde Perl ya es muy potente
  • A lo largo de los dos próximos años se van a eliminar/corregir aspectos del lenguaje que lo hacen "weird in a bad way".
  • Aunque ya es uno de los lenguajes scripting más rápidos, hay margen de mejora importante a partir de los recientemente adoptados prototipos de subrutinas, que especifican los tipos de los parámetros.

Hasta pronto,

Bruno

2 de junio de 2022

Traducir codones a aminoácidos en el terminal

Hola,

hoy me he vuelto a encontrar con una tarea frecuente cuando trabajas con secuencias genómicas, la de traducir codones a aminoácidos. Para unas pocas secuencias se pueden usar herramientas Web como https://web.expasy.org/translate , pero para hacerlo de manera programática y a medida me pareció más conveniente hacerlo con el clásico módulo BioPerl, que tiene documentación específica para esta tarea aquí, incluyendo cómo cambiar de tabla de uso de codones o de fase. En concreto usaremos un one-liner, un pequeño comando en Perl, similar a otros que podeís ver aquí.

 



##1) Instalación, muestro 3 opciones


# 1.1) ubuntu/Debian
sudo apt-get install -y bioperl

# 1.2) bioconda
conda install perl-bioperl

# 1.3) cpanm
cpan -i App:cpanminus cpanm --force Bio::Perl


# 2) Traducciones de un fichero FASTA (codons.fna)

# 2.1 Si bioperl está en ubicación central en @INC
perl -MBio::Seq -lne 'if(/^>/){ print } else { print Bio::Seq->new(-seq => $_)->translate()->seq() }' codons.fna > peptides.faa 


# 2.2) Si bioperl está instalada en otro sitio
perl -I $biopath -MBio::Seq -lne 'if(/^>/){ print } else { print Bio::Seq->new(-seq => $_)->translate()->seq() }' codons.fna > peptides.faa

# 2.3) Para comprobar codones de stop internos
grep -B 1 -P "\*[A-Z]" peptides.faa


Hasta pronto,

Bruno