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.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
Se puede hacer con curl:
ResponderEliminarcurl -s -d "dna_sequence=ATCG....AGCTAG&output_format=fasta" https://web.expasy.org/cgi-bin/translate/dna2aa.cgi > my_output.fasta