23 de julio de 2018

conjunto diferencia entre listas con Perl

Hola de nuevo,
sirva esta entrada para compartir una receta eficiente para calcular el conjunto diferencia entre dos listas o arrays en lenguaje Perl5.
Conjunto diferencia, tomado de https://es.wikipedia.org/wiki/Diferencia_de_conjuntos.
Para ello podemos definar la siguiente subrutina, tomada del módulo Array::Utils:

my @a = 0..10000; 
my @b = 5000..10000; 
 
array_minus(@a, @b);

sub array_minus(\@\@) {
    my %e = map{ $_ => undef } @{$_[1]};
    return grep( ! exists( $e{$_} ), @{$_[0]} ); 
}

Podéis ver otras alternativas en reddit, incluyendo soluciones en Perl6 y python,
un saludo,
Bruno

estructuras del PDB parecidas en secuencia (REST)

Hola,
hace unos días un usuario preguntaba en la lista de usuarios del Protein Data Bank (PDB) cómo usar la interfaz de servicios REST, documentada en https://www.rcsb.org/pdb/software/rest.do, para hacer búsquedas BLAST.

Mientras otro usuario compartía un script escrito en Python3, llamado sequenceSimilarity.py, que requiere mmtf-pyspark para hacer consultas PSI-BLAST en tiempo real contra el PDB, a mi me llamó la atención la simplicidad del servicio sequenceCluster, que para cualquier cadena de una estructura depositada en el PDB permite obtener el clúster de secuencias con un porcentaje de identidad controlado por el usuario:

https://www.rcsb.org/pdb/rest/sequenceCluster?cluster=70&structureId=9ant.A

Esto devuelve una lista de cadenas de estructuras PDB en formato XML que podemos procesar por ejemplo como se explica en

https://developer.atlassian.com/server/fisheye-crucible/writing-a-rest-client-in-perl

Hasta luego, buen verano,
Bruno

14 de junio de 2018

updated footprintDB motifs

Hi,
I have just updated the format of footprintDB motifs used in RSAT (www.rsat.eu), which can de downloaded from http://floresta.eead.csic.es/footprintdb/download. This was done to ensure compatibility with compare-matrices in RSAT. Now, motifs look this:

AC  AY750993/VRN1/EEADannot
XX
ID  AY750993:VRN1:EEADannot
XX
NA  AY750993
XX
DE  AY750993
XX
OS  Hordeum vulgare cv Strider
XX
BF  10127;
XX
P0      A      C      G      T
01     19     72      7      2      C
02     10     71      7     12      C
03     57     17     14     12      a
04     56      6     32      6      r
05     94      2      4      0      A
06     84      1      3     12      A
07     79      7      7      7      A
08     57      4      9     30      w
09     24      0     76      0      G
10     15      0     85      0      G
XX
LN  http://floresta.eead.csic.es/footprintdb/index.php?motif=AY750993:VRN1:EEADannot
XX
RN  [1];
RL  Deng W, Casao Mc, Wang P, Sato K, Hayes PM, Jean Finnegan E, Trvaskis B (2015) Direct links between the vernalization response and other key 
traits of cereal crops. Nat Comm 6:5882
RN  [2];
RX  PUBMED: 24234003
RL  Sebastian, A., Contreras-Moreira, B. footprintDB: a database of transcription factors with annotated cis elements and binding interfaces. Bio
informatics 30, 258-65 (2014).
XX

Note that the ID field was added and that a URL pointing to the relevant database entry identified with it is attached. The accession code replaces ':' with '/' to ensure that downstream RSAT analyses can be carried out just fine,
cheers,
Bruno

30 de mayo de 2018

Identificar tránscritos no codificantes

Hola,
recientemente he leído diferentes trabajos sobre cómo solamente una fracción de los tránscritos totales humanos realmente son codificantes. Estas observaciones tienen consecuencias prácticas que supongo se pueden extrapolar a otras especies.

1. Cómo identificar la isoforma principal de un gen
La base de datos APPRIS (http://appris-tools.org) aplica una serie de filtros para identificar las isoformas principales de cada gen humano en base a la combinación de varios criterios (leer artículo):
  • conservación de la estructura de exones
  • evolución no neutral
  • alineamiento sin inserciones con estructuras homólogas
  • conservación de residuos funcionales
  • alineamiento completo con secuencias de otros vertebrados
Anotación de 3 isoformas según APPRIS, tomada de https://academic.oup.com/nar/article/46/D1/D213/4561658
2. Como identificar un transcrito no codificante
Una vez hemos ensamblado tránscritos de uno o más tejidos o condiciones puede ser útil clasificarlos como codificantes o no. En un trabajo nuestro (leer aquí) lo hacíamos con CPC y el script transcripts2cdsCPP.pl de GET_HOMOLOGUES-EST. Ahora, un trabajo reciente (leer aquí) propone los siguientes criterios, que comento en algunos casos:
  • El tránscrito debe abarcar al menos un intrón y tener un nivel de expresión > 1 tránscrito por millón (TPM).
  • Si sólo comprende un exón debe expresarse al menos igual que los  tránscritos mejor descritos (TPM > 13.87 en humanos).
  • No debe estar contenido en otro tránscrito.
  • Debe codificar un marco de lectura (ORF) de al menos 60 aminoácidos. OJO: esto podría dejar fuera proteínas pequeñas importantes.
  • El ORF no debe solapar con elementos repetidos/transposones (LINe, LTR, etc) ni loci rRNA.
  • El E-valor producido por BLASTX al comparar el transcrito con proteínas de mamíferos en GenBank y UniProt debe ser < 10E-15. OJO: el E-valor cambiará a medida que crezcan las bases de datos, este criterio debería expresarse mejor como cobertura o bit score. Ver siguiente criterio.
  • El mejor ORF del tránscrito debe alinear al menos el 75% de otras proteínas conocidas, para eliminar pseudogenes, que suelen estar truncados.
  • Si dos tránscritos de hebras contrarias solapan, nos quedaremos con el que se parezca a proteínas con función conocida.
Espero que esto os sea útil, un saludo,
Bruno



26 de abril de 2018

curso: proteínas dúctiles y sus aplicaciones

Hola,
hoy quiero difundir un curso de verano de 3 días, que dirigen nuestras colegas Inma Yruela y Patricia Ferreira, "Nuevos Retos en Biología Molecular: las proteínas dúctiles y sus aplicaciones".

Tendrá lugar en Jaca del 11 al 13 de julio, y participamos varios profesores invitados. Hay 4 bolsas de viaje disponibles. Más información en la dirección:

https://cursosextraordinarios.unizar.es/curso/2018/nuevos-retos-en-biologia-molecular-las-proteinas-ductiles-y-sus-aplicaciones


(cartel actualizado 02052018)


Hasta pronto,
Bruno

PD: el enlace al material que usaremos en mi sesión es http://www.eead.csic.es/compbio/material/alineafilog