Dear all,
Pablo Vinuesa and me we have recently built a Docker image of GET_HOMOLOGUES bundled with a new pipeline, meant to be used downstream, called GET_PHYLOMARKERS. This software will be described in detail in a forthcoming publication. The image, and instructions on how to run it, are available at https://hub.docker.com/r/csicunam/get_homologues :
By packing them in a ready-to-use, cross-platform image, users avoid installation glitches, usually related to several extremely useful R packages required by the second pipeline. Please test it and give us feedback if possible,
cheers,
Bruno and Pablo
Note: link to docker hub updated 29Dic2017
Ideas y código para problemas de genómica de plantas, biología computacional y estructural
1 de diciembre de 2017
8 de noviembre de 2017
Figuras de PowerPoint a 800dpi
Hola,
ayer Rubén necesitaba aumentar la resolución de varias figuras incluídas en un artículo aceptado en la revista New Phytologist, que requiere resoluciones mínimas de 300dpi (ppp) o 800dpi, para fotos o gráficos respectivamente. En este caso se trataba de varios gráficos generados en PowerPoint.
Con el siguiente protocolo de Carlos Cantalapiedra lo lograron:
1- Aumentar el tamaño de las figuras en PowerPoint, al menos el doble de lo que será en la realidad.
2- Guardar figura desde en formato EMP
3- En http://www.zamzar.com pasarla a formato BMP
4- con paint.net abrir el BMP e ir a: Imagen --> cambiar tamaño --> aumentar resolución hasta 800 ppp
5- Guardar como TIFF
Los tamaños de los ficheros aumentan considerablemente, pasando de Kb a Mb,
hasta luego,
Bruno
ayer Rubén necesitaba aumentar la resolución de varias figuras incluídas en un artículo aceptado en la revista New Phytologist, que requiere resoluciones mínimas de 300dpi (ppp) o 800dpi, para fotos o gráficos respectivamente. En este caso se trataba de varios gráficos generados en PowerPoint.
Con el siguiente protocolo de Carlos Cantalapiedra lo lograron:
1- Aumentar el tamaño de las figuras en PowerPoint, al menos el doble de lo que será en la realidad.
2- Guardar figura desde en formato EMP
3- En http://www.zamzar.com pasarla a formato BMP
4- con paint.net abrir el BMP e ir a: Imagen --> cambiar tamaño --> aumentar resolución hasta 800 ppp
5- Guardar como TIFF
Los tamaños de los ficheros aumentan considerablemente, pasando de Kb a Mb,
hasta luego,
Bruno
24 de octubre de 2017
SOAP interface of footprintDB
Hi,
this entry shows how to query footprintDB from a Perl script.
First, make sure you have module SOAP::lite, which you can install with: $ sudo cpan -i SOAP::Lite. The following Perl5 code shows how to make all dna, protein and text queries, obtaining XML output in all cases.
Note that if you register you can query also your private databases (see details in documentation). Also note that protein searches are time consuming, and if you wish to annotate a large number of proteins it is advised that BLASTP searches are done in your own hardware, with the appropriate FASTA files., as explained in a previous post. Cheers, Bruno.
this entry shows how to query footprintDB from a Perl script.
First, make sure you have module SOAP::lite, which you can install with: $ sudo cpan -i SOAP::Lite. The following Perl5 code shows how to make all dna, protein and text queries, obtaining XML output in all cases.
Note that if you register you can query also your private databases (see details in documentation). Also note that protein searches are time consuming, and if you wish to annotate a large number of proteins it is advised that BLASTP searches are done in your own hardware, with the appropriate FASTA files., as explained in a previous post. Cheers, Bruno.
#!/usr/bin/perl -w use strict; use SOAP::Lite; my $footprintDBusername = ''; # type your username if registered my ($result,$sequence,$sequence_name,$datatype,$keyword) = ('','','','',''); my $server = SOAP::Lite -> uri('footprintdb') -> proxy('http://floresta.eead.csic.es/footprintdb/ws.cgi'); ## sample protein sequence $sequence_name = 'test'; $sequence = 'IYNLSRRFAQRGFSPREFRLTMTRGDIGNYLGLTVETISRLLGRFQKSGMLAVKGKYITIEN'; $result = $server->protein_query($sequence_name,$sequence,$footprintDBusername); unless($result->fault()){ print $result->result(); }else{ print 'error: ' . join(', ',$result->faultcode(),$result->faultstring()); } ## sample regulatory motif sequence #$sequence = 'TGTGANNN'; # possible format #$sequence = "TGTGA\nTGTGG\nTGTAG"; # another format #transfac format for position weight matrices can be used as heredoc $sequence= <<EOM; DE 1a0a_AB 01 1 93 0 2 02 0 96 0 0 03 58 33 3 2 04 8 78 6 4 05 8 5 75 8 06 1 2 47 46 07 1 2 84 9 XX EOM $result = $server->DNA_motif_query($sequence_name,$sequence,$footprintDBusername); unless($result->fault()){ print $result->result(); }else{ print 'error: ' . join(', ',$result->faultcode(),$result->faultstring()); } $keyword = "myb"; $datatype = "site"; $result = $server->text_query($keyword,$datatype,$footprintDBusername); unless($result->fault()){ print $result->result(); }else{ print 'error: ' . join(', ',$result->faultcode(),$result->faultstring()); }
23 de octubre de 2017
BLASTP: diferentes versiones dan diferentes alineamientos de secuencias de baja complejidad
El alineamiento de secuencias repetitivas o regiones de baja complejidad en la version ncbi-blast-2.2.27+ muestra diferentes "Best hits" en los alineamientos comparado con las versiones más recientes de blast como la version ncbi-blast-2.2.30+ y la versión ncbi-blast-2.6.0+ a pesar de mantener los mismos parámetros en ambos casos y la misma base de datos.
Ejemplo de query: proteína de la familia PE de Mycobacterium tuberculosis asociada con virulencia y caracterizada por presentar regiones de baja complejidad.
>UT08
MSLVIATPQLLATAALDLASIGSQVSAANAAAAMPTTEVVAAAADEVSAAIAGLFGAHARQYQALSVQVAAFHEQFVQALTAAAGRYASTEAA
VERSLLGAVNAPTEALLGRPLIGNGADGTAPGQPGAAGGLLFGNGGNGAAGGFGQTGGSGGAAGLIGNGGNGGAGGTGAAGGAGGNG
GWLWGNGGNGGVGGTSVAAGIGGAGGNGGNAGLFGHGGAGGTGGAGLAGANGVNPTPGPAASTGDSPADVSGIGDQTGGDGGTGGH
GTAGTPTGGTGGDGATATAGSGKATGGAGGDGGTAAAGGGGGNGGDGGVAQGDIASAFGGDGGNGSDGVAAGSGGGSGGAGGGAFVHI
ATATSTGGSGGFGGNGAASAASGADGGAGGAGGNGGAGGLLFGDGGNGGAGGAGGIGGDGATGGPGGSGGNAGIARFDSPDPEAEPDV
VGGKGGDGGKGGSGLGVGGAGGLLFGNGGNGGNAGAGGDGGAGVAGGVGGNGGGGGTATFHEDPVAGVWAVGGVGGDGGSGGSSLG
VGGVGGAGGVGGKGGASGMLIGNGGNGGSGGVGGAGGVGGAGGDGGNGGSGGNASTFGDENSIGGAGGTGGNGGNGANGGNGGAG
GIAGGAGGSGGFLSGAAGVSGADGIGGAGGAGGAGGAGGSGGEAGAGGLTNGPGSPGVSGTEGMAGAPG
Versión ncbi-blast-2.2.27+:
Empleando los parametros por defecto para enmascarar las secuencias de baja complejidad:
Linea de ejecución:
~ncbi-blast-2.2.27+/bin/blastp -query UT08.fasta -db UT105.fa -outfmt 7 -max_target_seqs 5 -seg yes -soft_masking true
Alineamiento:
Fields: query id, subject id, % identity, alignment length, mismatches, gap opens, q. start, q. end, s. start, s. end, evalue, bit score
# 5 hits found
UT08 BNAKEEDD_03025 65.12 129 42 1 1 126 1 129 4e-45 167
UT08 BNAKEEDD_02663 72.80 125 31 1 1 122 1 125 2e-43 166
UT08 BNAKEEDD_01601 61.48 122 40 1 1 115 1 122 8e-36 141
UT08 BNAKEEDD_02274 63.89 144 49 3 1 141 1 144 5e-34 130
UT08 BNAKEEDD_00693 64.75 122 41 2 1 121 1 121 4e-33 134
Versión ncbi-blast-2.2.30+
Linea de ejecución:
~ncbi-blast-2.2.30+/bin/blastp -query UT08.fasta -db UT105.fa -outfmt 7 -max_target_seqs 5 -seg yes -soft_masking true
Alineamiento:
Fields: query id, subject id, % identity, alignment length, mismatches, gap opens, q. start, q. end, s. start, s. end, evalue, bit score
# 5 hits found
UT08 BNAKEEDD_02661 98.27 694 0 1 1 682 1 694 0.0 1116
UT08 BNAKEEDD_03025 65.12 129 42 1 1 126 1 129 4e-45 167
UT08 BNAKEEDD_02663 74.82 139 32 1 1 136 1 139 1e-40 157
UT08 BNAKEEDD_01601 61.48 122 40 1 1 115 1 122 8e-36 141
UT08 BNAKEEDD_02274 63.89 144 49 3 1 141 1 144 5e-34 130
Versión ncbi-blast-2.6.0+
Linea de ejecución:
~ncbi-blast-2.6.0+/bin/blastp -query UT08.fasta -db UT105.fa -outfmt 7 -max_target_seqs 5 -seg yes -soft_masking true
Alineamiento:
Fields: query id, subject id, % identity, alignment length, mismatches, gap opens, q. start, q. end, s. start, s. end, evalue, bit score
# 5 hits found
UT08 BNAKEEDD_02661 98.271 694 0 1 1 682 1 694 0.0 1116
UT08 BNAKEEDD_03025 65.116 129 42 1 1 126 1 129 3.79e-45 167
UT08 BNAKEEDD_02663 74.820 139 32 1 1 136 1 139 1.34e-40 157
UT08 BNAKEEDD_01601 61.475 122 40 1 1 115 1 122 7.24e-36 141
UT08 BNAKEEDD_02274 63.889 144 49 3 1 141 1 144 1.85e-34 130
Al realizar el alineamiento de la proteína query UT08 con la versión de blast 2.2.30 o 2.6.0 toma como segundo mejor hit el alineamiento que es el hit número uno para la versión 2.2.27. Sin embargo, al realizar la busqueda, para el alineamiento de UT08 usando en la versión 2.2.27 no fue posible identificar el hit número uno (BNAKEEDD_02661) de las versiónes 2.2.30 o 2.6.0 en los primeros 20 hits, siendo las que tuvieron el mayor procentaje de identidad (98.27%), mejor evalue y bit score para estas dos ultimas versiones.
Lo anterior indica que el alineamiento de secuencias en regiones de baja complejidad fue optimizado a partir de la versión ncbi-blast-2.2.30+ (ver Bug fixed https://www.ncbi.nlm.nih.gov/books/NBK131777/) . Esta es una de las varias razónes que dan importancia a realizar periodicamente las actualizaciónes a las versiones más recientes de software para análisis de datos biológicos como Blast, sobre todo para corregir los posibles errores que traen las antiguas versiones, como en este caso paticular asociado a los alineamientos en secuencias repetitivas o de baja complejidad.
6 de octubre de 2017
formato PDBx/mmCIF del Protein Data Bank
Hola,
aunque el formato PDB sea probablemente todavía el estándar de facto para intercambiar información de macromoléculas biológicas, se ha quedado pequeño para representar grandes complejos moleculares y por esa razón desde 2014 el formato oficial del Protein Data Bank es el PDBx/mmCIF. Hay además otro formato en liza, el PDBML, pero tiene la desventaja de ocupar mucho más espacio.
Repasemos cómo pasan a ser los campos ATOM de un fichero PDB, los más relevantes. Veamos el siguiente ejemplo en el vetusto formato PDB, tomado de la estructura 1LFU, con columnas de ancho fijo:
En formato PDBx/mmCIF esto mismo se expresa así, con columnas separadas con espacios en blanco y cabeceras auto-explicativas, incluyendo una para la carga:
Hasta luego,
Bruno
aunque el formato PDB sea probablemente todavía el estándar de facto para intercambiar información de macromoléculas biológicas, se ha quedado pequeño para representar grandes complejos moleculares y por esa razón desde 2014 el formato oficial del Protein Data Bank es el PDBx/mmCIF. Hay además otro formato en liza, el PDBML, pero tiene la desventaja de ocupar mucho más espacio.
Complejo proteína-ADN 1LFU, tomado de http://www.rcsb.org/pdb/explore/explore.do?structureId=1lfu |
Repasemos cómo pasan a ser los campos ATOM de un fichero PDB, los más relevantes. Veamos el siguiente ejemplo en el vetusto formato PDB, tomado de la estructura 1LFU, con columnas de ancho fijo:
ATOM 1 O5' DA C 100 31.258 -2.296 76.212 1.00 81.62 O ATOM 2 C5' DA C 100 29.867 -2.121 76.367 1.00 69.89 C ATOM 3 C4' DA C 100 28.980 -3.049 77.172 1.00 67.21 C ATOM 4 O4' DA C 100 29.376 -3.145 78.557 1.00 64.58 O ATOM 5 C3' DA C 100 27.626 -2.376 77.196 1.00 64.41 C ATOM 6 O3' DA C 100 26.569 -3.309 77.165 1.00 66.18 O ATOM 7 C2' DA C 100 27.647 -1.527 78.451 1.00 63.85 C ATOM 8 C1' DA C 100 28.739 -2.123 79.322 1.00 56.01 C ATOM 9 N9 DA C 100 29.771 -1.142 79.635 1.00 49.13 N ATOM 10 C8 DA C 100 30.533 -0.428 78.740 1.00 48.58 C ATOM 11 N7 DA C 100 31.429 0.348 79.306 1.00 43.14 N ATOM 12 C5 DA C 100 31.218 0.141 80.664 1.00 40.35 C ATOM 13 C6 DA C 100 31.837 0.679 81.794 1.00 42.42 C ATOM 14 N6 DA C 100 32.826 1.571 81.750 1.00 48.24 N ATOM 15 N1 DA C 100 31.393 0.262 82.998 1.00 42.81 N ATOM 16 C2 DA C 100 30.397 -0.626 83.046 1.00 45.83 C ATOM 17 N3 DA C 100 29.734 -1.195 82.054 1.00 41.14 N ATOM 18 C4 DA C 100 30.197 -0.765 80.875 1.00 41.62 C ATOM 19 P DG C 101 25.116 -2.785 76.764 1.00 78.33 P ATOM 20 OP1 DG C 101 24.278 -3.977 76.501 1.00 74.57 O
En formato PDBx/mmCIF esto mismo se expresa así, con columnas separadas con espacios en blanco y cabeceras auto-explicativas, incluyendo una para la carga:
loop_ _atom_site.group_PDB _atom_site.id _atom_site.type_symbol _atom_site.label_atom_id _atom_site.label_alt_id _atom_site.label_comp_id _atom_site.label_asym_id _atom_site.label_entity_id _atom_site.label_seq_id _atom_site.pdbx_PDB_ins_code _atom_site.Cartn_x _atom_site.Cartn_y _atom_site.Cartn_z _atom_site.occupancy _atom_site.B_iso_or_equiv _atom_site.pdbx_formal_charge _atom_site.auth_seq_id _atom_site.auth_comp_id _atom_site.auth_asym_id _atom_site.auth_atom_id _atom_site.pdbx_PDB_model_num ATOM 1 O "O5'" . DA A 1 1 ? 31.258 -2.296 76.212 1.00 81.62 ? 100 DA C "O5'" 1 ATOM 2 C "C5'" . DA A 1 1 ? 29.867 -2.121 76.367 1.00 69.89 ? 100 DA C "C5'" 1 ATOM 3 C "C4'" . DA A 1 1 ? 28.980 -3.049 77.172 1.00 67.21 ? 100 DA C "C4'" 1 ATOM 4 O "O4'" . DA A 1 1 ? 29.376 -3.145 78.557 1.00 64.58 ? 100 DA C "O4'" 1 ATOM 5 C "C3'" . DA A 1 1 ? 27.626 -2.376 77.196 1.00 64.41 ? 100 DA C "C3'" 1 ATOM 6 O "O3'" . DA A 1 1 ? 26.569 -3.309 77.165 1.00 66.18 ? 100 DA C "O3'" 1 ATOM 7 C "C2'" . DA A 1 1 ? 27.647 -1.527 78.451 1.00 63.85 ? 100 DA C "C2'" 1 ATOM 8 C "C1'" . DA A 1 1 ? 28.739 -2.123 79.322 1.00 56.01 ? 100 DA C "C1'" 1 ATOM 9 N N9 . DA A 1 1 ? 29.771 -1.142 79.635 1.00 49.13 ? 100 DA C N9 1 ATOM 10 C C8 . DA A 1 1 ? 30.533 -0.428 78.740 1.00 48.58 ? 100 DA C C8 1 ATOM 11 N N7 . DA A 1 1 ? 31.429 0.348 79.306 1.00 43.14 ? 100 DA C N7 1 ATOM 12 C C5 . DA A 1 1 ? 31.218 0.141 80.664 1.00 40.35 ? 100 DA C C5 1 ATOM 13 C C6 . DA A 1 1 ? 31.837 0.679 81.794 1.00 42.42 ? 100 DA C C6 1 ATOM 14 N N6 . DA A 1 1 ? 32.826 1.571 81.750 1.00 48.24 ? 100 DA C N6 1 ATOM 15 N N1 . DA A 1 1 ? 31.393 0.262 82.998 1.00 42.81 ? 100 DA C N1 1 ATOM 16 C C2 . DA A 1 1 ? 30.397 -0.626 83.046 1.00 45.83 ? 100 DA C C2 1 ATOM 17 N N3 . DA A 1 1 ? 29.734 -1.195 82.054 1.00 41.14 ? 100 DA C N3 1 ATOM 18 C C4 . DA A 1 1 ? 30.197 -0.765 80.875 1.00 41.62 ? 100 DA C C4 1 ATOM 19 P P . DG A 1 2 ? 25.116 -2.785 76.764 1.00 78.33 ? 101 DG C P 1 ATOM 20 O OP1 . DG A 1 2 ? 24.278 -3.977 76.501 1.00 74.57 ? 101 DG C OP1 1La diferencia más notable, además de que las columnas no son de ancho fijo, es que cada átomo tiene ahora nuevas etiquetas (label) identificativas, además de las asignadas originalmente por los autores. En el ejemplo, la desoxiadenina 100 para a llevar el número 1. Otra diferencia notable es que en estructuras de NMR, como este caso, el número de modelo se indica también para cada átomo (entity_id).
Hasta luego,
Bruno
Suscribirse a:
Entradas (Atom)