Ejercicios con Entrez Objetivo: familiarizarse con el uso de Entrez y SRS para realizar búsquedas y consultas en bases de datos biológicas de acceso público Introducción: el NCBI (National Center for Biotechnology Information) alberga varias bases de datos biológicas de acceso público. Entre las más conocidas y populares se encuentran las bases de datos de publicaciones científicas (PubMed), de secuencias de proteínas y ADN (GenBank), de estructuras tridimensionales de proteínas; y algunas otras no tan populares como OMIM (Online Mendelian Inheritance in Man). El NCBI desarrolló Entrez como una herramienta para permitir a los usuarios interaccionar (léase consultar) estas bases de datos. Desde el punto de vista informático, Entrez es una 'interfaz de usuario' o UI (por user interface). Es decir, constituye el nexo entre el usuario y las bases de datos subyacentes. Como interfaz, Entrez cumple en permitir al usuario realizar consultas simples y obtener resultados, aun desconociendo la arquitectura de las bases de datos. Sin embargo, para realizar consultas eficientes y poderosas, es necesario conocer la arquitectura de la base de datos, al menos en parte, y saber como restringir búsquedas a ciertas áreas de la base de datos, combinar búsquedas con criterios lógicos, etc. Todo eso es posible también usando Entrez, aunque ... hay que leer el manual. SRS (Sequence Retrieval System) es un paquete de manejo de bases de datos desarrollado por Lyon Biosciences. A diferencia de Entrez, que el NCBI no distribuye, es posible obtener SRS e instalarlo en forma local. Uno de los sitios más importantes que tiene instalado SRS, es el EBI (European Bioinformatics Institute). Sin embargo existe una larga lista de sitios que cuentan con SRS instalado y disponible para su uso en forma remota. Esto les permite elegir un sitio más cercano o más descongestionado para realizar sus búsquedas, aunque es necesario aclarar que no todos los sitios tienen las mismas bases de datos instaladas. Usando PubMed (Entrez) Automatic term mapping: cuando uno ingresa un término para realizar una búsqueda en PubMed, el servidor que recibe el requerimiento intenta identificar qué tipo de búsqueda uno está intentando hacer: está el usuario intentando buscar un autor?, una revista o journal específico?, un área del conocimiento?, o una frase presente en el título o abstract de la publicación? El servidor entonces filtra los términos de la búsqueda a través de listas sucesivas para intentar responder esta pregunta y usar los términos en forma eficiente. Este proceso se llama automatic term mapping. Qué listas se utilizan? 1. MeSH (Medical Subject Headings): vocabulario controlado utilizado para indexar artículos en PubMed. (Buscar en MeSH) 2. Journals: nombre completo del journal, abreviaturas usadas en MEDLINE y números ISSN. 3. Lista de frases: cientos de miles de frases generadas a partir de MeSH y otros vocabularios controlados similares. 4. Indice de autores: apellido e iniciales. Si el término ingresado está presente en alguna de estas listas, la búsqueda se limitará a ese campo de la base de datos. En caso contrario el término será utilizado para buscar sobre todos los campos de la base de datos. Es evidente que si uno sólo está interesado en buscar papers publicados en la revista 'Cell' es ineficiente utilizar el término 'Cell' para realizar la búsqueda, ya que muy probablemente exista algún autor llamado así, y la palabra 'cell' se encuentre presente en varios títulos o asbtracts. Ejercicio: realizar una búsqueda en PubMed utilizando los siguientes términos (palabras): smoking lung cancer mortality Notar cuantas citas totales obtienen y cuan relacionadas están con los términos de la búsqueda. Clickear sobre Details, esto les permitirá ver como la consulta realizada por ustedes fue traducida por Entrez (mapeo de términos incluído). Puede ocurrir que alguno de los términos que utilizaron haya sido reemplazado por un sinónimo. Evitando el mapeo automático de términos El mapeo automático de términos puede evitarse en primer lugar encerrando el término o frase entre comillas. Esto evitará el filtrado a través de listas, realizando la búsqueda sobre todos los campos de la base de datos en forma directa. Además, en caso de una búsqueda con una frase (más de una palabra), esto fuerza la búsqueda usando la frase tal como fue ingresada (con las palabras en ese orden), lo cual puede resultar útil en algunos casos. Truncation: los términos de una búsqueda pueden proporcionarse truncados, utilizando un asterisco (*). Por ejemplo, una búsqueda con el término enzym* retornará citas conteniendo la palabra enzyme, pero también enzymes, enzymology, enzymatic, etc. El truncado desactiva el mapeo automático de términos, por lo cual las búsquedas utilizando este método van a diferir de las que no lo usan. Stopwords: PubMed ignora ciertas palabras en las búsquedas. Estas son llamadas 'stopwords' y corresponden a palabras muy comunes, presentes en la gran mayoría de las citas de la base de datos: artículos, proposiciones, adverbios, etc. La lista de stopwords se encuentra en la documentación de PubMed. Operadores lógicos: Entrez permite combinar términos utilizando operadores lógicos (AND, OR, NOT). Los operadores lógicos, también llamados 'boolean operators' deben ser ingresados en mayúsculas para ser reconocidos como tales por Entrez (por ejemplo: vitamin c OR zinc, dna AND Crick AND 1993). Entrez lee los operadores lógicos de izquierda a derecha. Es posible cambiar el orden de evaluación de los operadores usando paréntesis. Ejercicio: evaluar y explicar los resultados de las siguientes búsquedas: heat OR humidity AND multiple sclerosis (heat OR humidity) AND multiple sclerosis multiple sclerosis AND heat OR humidity multiple sclerosis AND (heat OR humidity) Calificación de términos (search field qualification): uno puede ahorrarle trabajo a Entrez y calificar el término de la búsqueda uno mismo. Qué es calificar? Es describir qué tipo de término es el que estoy usando: si es el nombre de un autor, si es el nombre de un journal, si es un año (una fecha), etc. Ya vimos que usar la palabra 'cell' para buscar publicaciones en Cell no es una buena idea. Pero sí lo es si calificamos el término: cell [ta]. En este caso Entrez no realiza el mapeo automático de términos, y utiliza la palabra ingresada para realizar una búsqueda sólo sobre la lista de nombres de publicaciones periódicas. La calificación de términos se realiza agregando un tag entre corchetes, al lado del término a calificar. En el ejemplo anterior [TA] es el tag que indica que el término corresponde al nombre de un journal. Cómo iba yo a saber que [TA] se usa para indicar un journal? OK, sabía que iba a pasar. Convengamos en que es muy poco intuitivo y que ... hay que leer el manual :) PubMed provee una lista de tags para calificar términos. Además es siempre recomendable clickear en Details para ver como Entrez traduce los términos que uno ingresa en términos calificados usando tags. Fechas y rangos de fechas: se pueden usar fechas y rangos de fechas para realizar búsquedas. El formato tiene que ser YYYY/MM/DD, donde el mes y día son opcionales. Para especificar un rango, separar las fechas con : (e.g. 1993:1995) Los tags para indicar el uso de fechas son: date of publication [DP] y [EDAT] la fecha de ingreso en PubMed. Tip. para buscar citas con abstract se puede usar la palabra hasabstract, por ejemplo en smoking lung cancer AND hasabstract Cuántas publicaciones contienen la palabra 'p53' en el título? Cuántas de estas son reviews? Y cuántos de estos reviews fueron publicados en los últimos tres años? Entrez sobre otras bases de datos A pesar de que se usa la misma interfaz -- Entrez -- para consultar distintas bases de datos, es lógico y entendible que existan ciertas características y modos de búsqueda que sólo tienen sentido en un caso y no en otro. De hecho algunos de los tags usados para literatura (PubMed) no tienen sentido cuando uno busca secuencias de ADN o proteínas. La lista de campos disponibles para buscar y los tags que pueden usar para entrez pueden encontrarlos aquí. Restringir la búsqueda a un organismo o grupo de organismos Entrez les permite restringir la búsqueda a uno o más organismos, usando el tag [organism] o la forma corta del mismo tag [orgn] kinase AND Trypanosoma cruzi[organism] Como términos de una búsqueda que utilice este tag, se puede usar cualquier palabra que sea válida taxonómicamente. Siguiendo el ejemplo anterior podríamos extender la búsqueda a kinasas provenientes de otros trypanosomas kinase AND Trypanosoma[orgn] En este caso estamos seleccioando a todas las kinases del género Trypanosoma, independientemente de la especie. Si quisiéramos ser más inclusivos, podríamos buscar kinasas en todos los organismos del orden Kinetoplástida, asi kinase AND Kinetoplastida[orgn] Pueden usar el 'Taxonomy Browser' del NCBI para obtener la clasificación taxonómica del organismo que les interese para utilizarla en este tipo de búsquedas. Ejercicio. Comparen los resultados que obtienen utilizando las palabras con y sin el tag. Para hacer esto pueden utilizar el link 'Preview'. Buscar usando pesos moleculares. Entrez permite hacer este tipo de búsquedas. El peso molecular debe ser ingresado como un número fijo de 6 caracteres. Si el peso molecular tiene menos de 6 caracteres, llenar con ceros a la izquierda. Por ejemplo 002002[molwt] También es posible realizar una búsqueda con un rango de pesos moleculares 002002:002009[molwt] Tengan en cuenta que si la anotación de una proteína contiene una indicación de clivaje, es posible que obtengan en la lista de resultados, una proteína de peso molecular mayor al que especificaron. Asegúrense de revisar siempre la anotación de la proteína para verificar esto. Otras búsquedas con rangos. Al igual que en Entrez, es posible usar rangos de fechas. En el caso de secuencias, es más relevante realizar búsquedas con la fecha de modificación, de manera de siempre obtener como resultado la última versión de una secuencia. 1998/02:2000/01/25[mdat] También es posible realizar búsquedas seleccionando secuencias por su longitud 3000:4000[slen] O utilizar un rango de números de acceso. En las publicaciones científicas, cada vez se utilizan más los rangos de números de acceso, en lugar de listarlos uno por uno. En el caso de publicaciones de análisis de datasets grandes, este es generalmente el modo en el que obtienen los números de acceso de las secuencias utilizadas. En el caso de GSSs obtenidos a partir de Trypanosoma cruzi: [The sequence data described in this paper have been submitted to the dbGSS database under the following GenBank accession nos.: AQ443439-AQ443513, AQ443743-AQ445667, AQ902981-AQ911366, AZ049857-AZ051184, and AZ302116-AZ302563.] y pueden ser obtenidos fácilmente mediante así AQ443439:AQ443513[accn] AND AQ443743:AQ445667[accn] AND AQ902981:AQ911366[accn] AND AZ049857:AZ051184[accn] AND AZ302116:AZ302563[accn] Usando los índices. Entrez realiza las búsquedas sobre cierto tipo de campos de la base de datos. Estos campos se encuentran indexados, y es posible acceder a los índices para evaluar la performance de nuestra estrategia de búsqueda. Cuando realizan una búsqueda, prueben clickear en 'Preview/Index', esto les permite acceder a un formulario para ver los índices y eventualmente agreagar un término a la búsqueda. Seleccionen el campo de la base de datos que deseen, ingresen un término y clickeen el botón 'Index'. Esto les permitirá navegar el índice para ese campo y mucho más importante, ver la cantidad de records para cada elemento del índice. En el caso de autores, por ejemplo, el índice contiene los apellidos e iniciales de distintas personas, y puede no ser muy informativo. Sin embargo, el índice de otros campos de la base de datos, tales como 'Feature Key' pueden ser altamente informativos. Por ejemplo, seleccionar 'Feature Key', e ingresar 'promoter' y darle al botón 'Index'. Esto nos posicionará en la lista de feature keys que se encuentran alrededor de la palabra ingresada. Entre paréntesis pueden notar el número de secuencias que están asociadas a esta palabra. Si quieren agregar este término a la búsqueda pueden hacerlo usando algunos de los botones 'AND', 'OR' o 'NOT', dependiendo de bajo qué condición lógica debe unirse al término anterior. Ver los índices, les permite ahora realizar búsquedas rápidas. Sabiendo que existe un 'Feature Key' llamado 'promoter', podemos simplemente tipear promoter[fkey] para obtener todos los records de GenBank que contengan un promotor. Si miran los índices del campo 'Properties' van a ver varios items del tipo "gbdiv": gbdiv bct, gbdiv est, gbdiv gss. Estos corresponden a las distintas divisiones de GenBank. Por lo tanto para restringir una búsqueda a una división en particular de GenBank pueden utilizar "gbdiv xxx"[properties] en sus queries. Reemplacen en cada caso xxx con la correspondiente división de GenBank. Ejercicios. Realice una búsqueda solamente con la palabra hexokinase y otra con hexokinase AND cruzi. Cuantas secuencias obtiene? Encuentre todas las secuencias de proteínas humanas de entre 50 y 60 aminoácidos que hayan sido ingresadas durante 1999. Encuentre todas las secuencias genómicas de Escherichia coli que contengan un atenuador (attenuator). Cuántas son? En Trypanosoma cruzi cuántos son los records de GenBank que contienen secuencias codificantes (CDS) que hayan sido obtenidas a partir de mRNA? Y cuántas fueron obtenidas a partir de DNA genómico? Cuántas proteínas que unen penicilina hay en Micobacterium? (penicillinbinding, Mycobacterium) Cuántos GSSs hay en GenBank? Cuántos corresponden a Trypanosoma cruzi? Cuántas secuencias fueron depositadas en GenBank por J. Craig Venter? Cuántas por Claire Fraser?