Dedico este artículo a mi hermana Ana, a quien siempre he admirado, entre otras muchas cosas, por su innata habilidad académica.
Para la realización de este post he utilizado un sistema Ubuntu 10.04 LTS Lucid Lynx con entorno GNOME2.
Después de realizar un análisis de software químico, donde expuse una cantidad limitada de repositorios moleculares y cristalográficos, he de confesar que la afirmación, realizada en aquel post, de una gran base de datos científicos y técnicos de dominio público, no se refería a esos escasos enlaces.
La razón de no exponer, en ese momento, estos conceptos que me han llevado a realizar este segundo post sobre software y ciencia pública, es que la longitud hubiera resultado exagerada.
De hecho, tengo pendiente un artículo que complementa las utilidades químicas en el software libre, pero con sabor KDE, dado que Kalzium, reúne en un solo paquete, la mayor parte de las utilidades vistas en el entorno GNOME.
Quiero volver a disculparme con vosotros por cualquier absurdo o error técnico realizado durante el artículo. No existe intención alguna y se debe a mis limitaciones académicas.
Mi propósito es mostraros el potencial de estos conceptos y si así resultara, mi satisfacción sería plena.
Vayamos a la idea inicial que me llevo a realizar estos artículos sobre software científico.
Tal y como reseñe en el anterior post, el Premio Nobel de Química 2013, se fundamenta en el desarrollo de modelos tridimensionales, que facilitan el estudio de procesos químicos imposibles de visualizar con métodos más convencionales.
Quise empezar por el principio, y por la esencia de lo que somos, elementos químicos.
Más concretamente, elementos orgánicos (basados en carbono), pero la vida no es tan simple, ni mucho menos…
Como muñecas matroska, la vida se complica cuando subimos a capas superiores. Y estos elementos orgánicos, se reúnen a su vez, en macromoléculas biológicas que conforman nuestra estructura.
Este vídeo detalla esa complejidad de enlaces cuando hablamos de dichas macromoléculas:
EPIDEMIA DE PINGÜINOS. PANDEMIA DE ÑUS…
En la década de los 70, casualmente cuando este Premio Nobel empezó a gestarse, otros científicos vieron posibilidades en la globalización ofrecida por Internet, y promovieron la creación de una gran base de datos que reuniera los conocimientos adquiridos de las proteínas y ácidos nucleicos, ladrillos de un edificio llamado vida.
De la misma manera que en una colonia de termitas o una colmena de abejas, el esfuerzo conjunto del grupo puede llegar a ser superior a la suma de sus individuos.
Tres son los continentes que aportan su ciencia a esta base, que empezó con 7 estructuras y, 40 años después, cuenta con un número superior a 96000 aportaciones.
Asia, Europa y América; eligiendo como portavoces a Japón, Gran Bretaña y Estados Unidos, trazan un triángulo que contiene un gran volumen de biólogos y bioquímicos, con sus laboratorios y aparatología, y lo más importante, su inteligencia y esfuerzo sincronizados.
Juntos conforman Worldwide Protein Data Bank, un banco que nada tiene que ver con las finanzas, y sin embargo, alberga una maravillosa riqueza.
Si esto resulta interesante, termina fascinando la decisión de ampliar esta telaraña al mundo entero. Esta biblioteca es de dominio público, y cualquiera con acceso a internet y las herramientas adecuadas puede disfrutar de su contenido.
Como curiosidad, expongo este gráfico donde muestra la tendencia de crecimiento de esta base:

Será casualidad, pero el crecimiento de aportaciones sube de manera exponencial, en unos años donde se estaba afianzando el mayor proyecto colaborativo de software con un pingüino por mascota.
Quizás no tenga nada que ver, o quizás si, quien sabe…
Diversas instituciones con sus respectivas webs, forman parte de este conglomerado biológico digital, pero vamos a centrar nuestra atención solamente en una página, puesto que en realidad, los datos a los que accedemos son similares y se encuentran sincronizados.
Si definimos nuestra búsqueda en Google con el termino Protein Data Bank, el motor nos muestra los siguientes resultados:

No tenemos la necesidad de desplazarnos más lejos en nuestros resultados, veamos que nos ofrece esta página: RCSB Protein Data Bank.

En la parte inferior izquierda de la página, encontramos un apartado de ayuda que nos facilitará la navegación y nos explicará las posibilidades de la web.

A modo de resumen, veamos una manera de navegar entre esta extensa base. En la parte superior de la web, observamos la siguiente imagen que podemos pulsar:

Esta acción nos desplazará a la siguiente pantalla, donde encontramos categorizadas de la siguiente manera las distintas macromoléculas biológicas:
Categorías de RCSB PDB-101
- Síntesis de proteínas (Protein Synthesis)
- Enzimas (Enzymes)
- Salud y enfermedad (Health & Disease)
- Energía biológica (Biological Energy)
- Infraestructura y comunicación (Infraestructure & Communication)
- Biotecnología y Nanotecnología (Biotechnology & Nanotechnology)

Pulsando sobre ellas, nos mostrará las macromoléculas biológicas que engloban la categoría elegida, realicemos el ejemplo con la subcategoría Salud y Enfermedad (Health & Disease):

Como podemos observar, esta subpágina está dividida a su vez, en otras subcategorías, para facilitarnos aún más la labor de búsqueda. Veamos que nos ofrece la sección de Virus (Viruses):

En el cuerpo de esta web, podemos desplazarnos por los distintos modelos de virus desde dos vías diferentes:

Indistintamente de la vía que usemos, nos aparecerán los enlaces para ese grupo biológico macromolecular:


Escojamos la primera opción, Adenovirus, y realicemos un breve vistazo a la información proporcionada:

El artículo es una reseña descriptiva e informativa de este grupo de virus. Mensualmente, las instituciones que gestionan Protein Data Bank, dedican un artículo o extienden la información disponible de un grupo macromolecular en lo que ellos denominan Molécula del mes (Molecule of the Month). Al escoger un grupo en particular, nos aparece el artículo Molécula del mes dedicado al grupo seleccionado, en el caso de los Adenovirus tuvieron su dedicatoria en diciembre de 2010.
Dicho tipo de virus, que atacan a aves y mamíferos, son muy interesantes y paralelamente peligrosos. Suelen atacar las vías respiratorias, pero son una herramienta poderosa en la terapia genética al ser usados como vectores de transporte genéticos.
Desglosemos esta información en partes más asequibles. En la parte superior nos ofrece la posibilidad de descargarnos el artículo en formato de libro electrónico (*.epub):

Bajando a través de la descripción e información variada sobre este tipo de macromolécula, encontramos dos imágenes representativas de dicha estructura, junto con la posibilidad de descarga en alta calidad (*.tiff):


Si continuamos desplazándonos por la página, llegamos a la zona de visualización tridimensional en la propia web, necesitaremos el complemento JAVA oficial para poder disfrutar de esta característica en nuestro navegador.


Desconozco si en versiones más recientes de IcedTea y OpenJDK es preciso realizar esta operación, en Ubuntu 10.04 LTS Lucid Lynx no son capaces de gestionar este visualizador JAVA on-line: Jmol, que por supuesto, es de código abierto.
En el caso de que OpenJDK y IcedTea no fueran capaces de gestionaros Jmol, el problema se soluciona de la siguiente manera.
Aunque Firefox nos ofrece la instalación del plugin, en realidad, nunca sucederá. Hace tiempo que Canonical decidió retirar de sus repositorios el paquete JAVA oficial de Oracle.
Añadimos un repositorio que si contiene estos paquetes:
:~$ sudo add-apt-repository ppa:webupd8team/java

Una vez añadimos el repositorio, actualizamos el equipo, para recargar nuestras fuentes de software:
:~$ sudo apt-get update

Cuando se haya finalizado la instalación del repositorio, podremos disponer del paquete necesario para solucionar nuestro problema, con nuestro gestor de software preferido:

Como podéis observar, el repositorio está muy actualizado, tiene disponible la última versión de JAVA. Pero he preferido instalar la anterior para asegurarme estabilidad.
Una vez hayamos instalado el paquete oficial, lo podemos comprobar (en Ubuntu Lucid), desde la ruta Sistema -> Preferencias:

Seguros entonces, de su correcta instalación, volvemos a dirigirnos a nuestro navegador web, que deberemos reiniciar, para observar si nuestra operación ha resultado efectiva:



A partir de este punto, podemos visualizar la estructura de cuatro cadenas proteínicas en un Adenovirus desde nuestro propio navegador:

Como último comentario sobre Jmol, añadiré que, además de servir como applet en un navegador, puede funcionar como paquete de escritorio independiente.
Veamos como hacerlo:
Descargamos desde este enlace, el paquete comprimido *.zip.
Descomprimimos el paquete y movemos la carpeta resultante a nuestra ruta /opt, sitio especialmente diseñado en las distribuciones GNU/Linux para poder alojar software adicional. Esta ruta debe poseer permisos de ejecución con nuestro usuario para su correcto funcionamiento.


Dentro de la propia carpeta, el archivo jmol.sh, al que concederemos permisos de ejecución como programa, es nuestro acceso directo para iniciar este paquete.



Como último paso, y haciendo uso de Alacarte, junto con una imagen descargada (para su utilización como icono), realizamos nuestro acceso en la ruta Ciencia -> Jmol:




El aspecto final en nuestro menú será algo similar a esto:

Y esta es la manera en que se nos presentará Jmol como programa de escritorio:


No me voy a extender mucho más con este paquete, puesto que quiero enseñaros un visualizador nativo para nuestras distribuciones, con el que podremos disfrutar de un estudio y una perspectiva en macromoléculas biológicas, que nada tiene que envidiar a Jmol.
En nuestra página web, usada como ejemplo, finalizan la información del artículo con una bibliografia y lo más importante las estructuras definidas por los científicos dentro de esa subcategoría macromolecular:


Hasta el momento, hemos podido visualizar un modelo tridimensional molecular, pero no representaba ninguna molécula en particular, sencillamente era la estructura común de todos los Adenovirus con cuatro cadenas proteínicas.
BUSCAR UNA AGUJA EN UN PAJAR…
Si queremos buscar una macromolécula en particular, debemos definir la búsqueda en la base de datos de Protein Data Bank, con su número ID.
El concepto de ID es básico en cualquier base de datos, es el número identificativo e inequívoco de cualquier objeto que forme parte de esa base. Con su uso se evita confusiones, duplicaciones o errores.
En realidad, dentro del artículo hacen referencia a estos códigos en varias ocasiones:


Esos códigos alfanuméricos sirven como nombre para la macromolécula biológica dentro de Protein Data Bank, pero no tienen significado alguno, están asignados arbitrariamente por orden cronológico de entrada en esta gran base de datos, y no mantienen ninguna lógica con el nombre real o el tipo de macromolécula.
Entonces, si no tiene significado alguno… ¿cómo podemos buscar macromoléculas biológicas individuales y particulares?
De varias maneras, en primer lugar y como ya hemos podido observar, en los propios grupos estructurales categorizados ya hacen referencia, a dicho códigos ID, en varias ocasiones, dentro de su contexto informativo.
Pero si no queremos profundizar tanto, la propia Home de la página web, nos aporta una efectiva herramienta de búsqueda en su parte superior:


O podemos utilizar otros criterios, detallados en la parte media de la web, para ir afinando nuestra búsqueda en particular:

Estos criterios irán acotando las macromoléculas según vayamos seleccionándolos.
Definiendo un organismo, tipo de exploración de la macromolécula, tipo de polímero y clasificación enzimática, el número de estructuras biológicas se irá reduciendo en gran volumen y la búsqueda se tornará más fácil.
Un ejemplo como muestra…
Quiero encontrar una macromolécula exclusivamente presente en el ser humano, analizada bajo microscopio electrónico, además de ser una proteína y NO un ácido nucleico, finalizando con una simetría helicoidal:

¿Cuantas macromoléculas biológicas cumplen todas estas condiciones dentro de nuestra base superior a 96000 registros?
Pues concretamente 3 …



Con esto quiero demostrar que la búsqueda de una macromolécula biológica presente en Protein Data Bank, no resulta tan complicada, una vez se adquiere algo de practica.
Además tenemos que tener en cuenta, que el número total de estructuras tridimensionales representadas no hacen referencia a macromoléculas distintas, muchas de ellas son versiones mejoradas (por cambio de tecnología en el análisis o mejoras en el anteriormente utilizado) de la misma macromolécula.
Mayoritariamente, las tecnologías de análisis para el desarrollo de estos modelos son cuatro:
Tipos de análisis utilizados
- Cristalografía de rayos X
- Resonancia magnética nuclear
- Microscopio electrónico
- Tomografía crioelectrónica
Cada una de estas técnicas aporta nuevos datos estructurales de la macromolécula estudiada, y esto debe reflejarse en la base de datos.
Dada la gran dificultad que requiere esta operación, es decir, modelar unas estructuras a escalas tan ínfimas, cada avance realizado en una macromolécula particular resulta en una nueva entrada de la estructura mejorada.
Una muestra de este suceso:


Si nos fijamos en los códigos PDB ID de estas dos estructuras, observamos que son la misma macromolécula con un cambio en la técnica analítica utilizada. Por ello, sus códigos ID, son correlativos.
Continuemos con nuestro ejemplo anterior, después de este paréntesis en los distintos métodos de búsqueda definida, desde la parte final en nuestro artículo Molécula del mes en los Adenovirus.
Esta parte nos enlaza directamente con cualquier estructura relacionada dentro la categoría que hemos seleccionado como muestra:


Echemos un vistazo a la primera de ellas:

Y detallemos estos iconos que aparecen bajo su código PDB ID:

De izquierda a derecha tienen las siguientes funcionalidades.
- Descargar el archivo *.pdb
- Visualizar el archivo *.pdb
- Visualizar el archivo tridimensional en Jmol
Era de suponer que un proyecto de tales dimensiones e importancia, tuviera su propio formato de archivos. Analicemos estas posibilidades en sentido inverso.
Si pulsamos sobre el icono de visualización en Jmol, y como hemos visto anteriormente, nuestro navegador será la herramienta para estudiar esta macromolécula biológica:




Si pulsamos sobre la visualización de este archivo *.pdb, nos mostrará el código fuente que interpreta Jmol:

Dicho código, además de una cabecera informativa, define cada átomo y su respectiva coordenada dentro de la estructura macromolecular. Labor complicada…
Y por supuesto, podemos descargar el fichero *.pdb de manera local y disponer cuando deseemos de él, gracias al icono de descarga.

A partir de esta descarga, finalizamos en este artículo con el navegador web, y procedemos a observar que nos ofrecen los repositorios en las distribuciones GNU/Linux respecto a esta temática.
CONTEMPLANDO VIDA…
Desde luego,como renderizador oficial, si habéis instalado Jmol como paquete de escritorio, nos ofrecerá una visualización perfecta de la macromolécula descargada:



Pero… ¿existen otras posibilidades nativas en nuestras distribuciones GNU/Linux?
Algunos recordaréis, si habéis leído mi anterior artículo, el paquete Gchem3D, un visualizador tridimensional molecular del conjunto de utilidades químicas GCU (Gnome Chemistry Utils).
De hecho, el formato *.pdb (Brookhaven Protein Database File Format), es uno de los admitidos en este programa.
Sin embargo, como os he comentado en anteriores ocasiones, mi equipo es un pequeño netbook Acer Aspire One, con una potencia muy limitada y la gestión de modelos renderizados tan complejos convierte en una tarea imposible su visualización óptima en este pequeño visor.
RasMol solucionó mi problema. Este visor tridimensional gestiona la renderización de macromoléculas biológicas, con tal eficiencia, que mis escasos recursos no son impedimento para disfrutar de las posibilidades que me brindan en Protein Data Bank.
Disponible en los repositorios oficiales, podemos utilizar nuestro gestor de software habitual para su instalación:

Una vez instalado, nos encontramos con su acceso en la ruta Ciencia -> Rasmol (GTK):

En realidad, os encontraréis con otro acceso denominado Rasmol (Classic Version), que yo he modificado desde Alacarte para que no sea visible, puesto que deseo que la interfaz gráfica se gestione con bibliotecas GTK nativas de GNOME.
El funcionamiento es el mismo, solo son distintas las interfaces gráficas utilizadas.
Una vez iniciado, este software se nos presentará de la siguiente manera:


Abrimos el archivo descargado desde el menú File -> Open:


Y nos aparecerá el modelo tridimensional renderizado de nuestra macromolécula biológica:

Como he referido anteriormente, la gestión que realiza este paquete, aún disponiendo de recursos escasos, es asombrosa.
Manteniendo el botón izquierdo del ratón pulsado, moveremos los ejes vertical y horizontal nuestra macromolécula.
Si pulsamos el botón Shift + botón izquierdo del ratón, podremos realizar un zoom en cualquier zona de la estructura.
Y con el botón derecho de nuestro ratón podremos mover toda la macromolécula en el visualizador.

Veamos las opciones disponibles para este fantástico software.
Lo que más puede llamar la atención desde el primer momento, es el detalle de la técnica analítica utilizada destacada sobre el título de la ventana en el propio programa.

Comencemos con su menú File.
Nos ofrece opciones de abrir, abrir reciente, salvar como, exportar a una imagen, cerrar, impresión y configuración de impresión, finalizando con la opción de salir del programa.

En segundo lugar, analizamos su menú View.
Nos ofrece la posibilidad de abrir una consola de ordenes (Command prompt):

Podemos habilitar barras de desplazamiento (Scrollbars):


Por defecto, la tercera opción de barra de menús(Menubar), se encuentra habilitada. Es la barra que estamos analizando en este momento. Si lo deseáramos, podríamos deshabilitarla:


Podemos habilitar la opción de colocar nuestro visualizador a pantalla completa (Full Screen), para aprovechar todas las pulgadas de nuestro monitor en nuestra macromolécula:


En último lugar de nuestro menú View, podemos definir la tipografía de la consola de ordenes:

Voy a modificarla desde Sans hacia la tipografía fija que suelo utilizar, Ubuntu Mono:


En tercer lugar, destacamos un menú que, personalmente, encuentro muy interesante. Se trata del menú Display, que modifica el tipo de visualización en nuestro modelo tridimensional.
Por defecto, RasMol se inicia en la primera opción de este menú, Wireframe:


En segundo lugar, encontramos la visualización Backbone:


En tercer lugar, encontramos la visualización Sticks:


En cuarto lugar, encontramos la visualización Spacefill:


En quinto lugar, encontramos la visualización Ball & Stick:


En sexto lugar, encontramos la visualización Ribbons:


En séptimo lugar, encontramos la visualización Strands:


En octavo lugar, encontramos la visualización Cartoons:


En noveno y último lugar, encontramos la visualización Molecular Surface:

Esta última visualización es, con diferencia, la mayor consumidora de recursos y el movimiento de la macromolécula se vuelve extremadamente difícil.
Quizás esto no suceda en equipos con potencia superior a los de un simple netbook.
Sigamos con el análisis de nuestros menús en la barra de herramienta. En cuarto lugar, vemos el menú Colours, que nos permitirá distintos esquemas de colores en nuestro modelo tridimensional:
En primer lugar, nos encontramos con el esquema de colores Monochrome:

En segundo lugar, nos encontramos con el esquema de colores CPK, haciendo referencia al sistema de modelos de bolas creado por Corey, Pauling y Kultun, habitualmente usado entre los químicos. Es el esquema por defecto conque RasMol abre los modelos tridimensionales:

En tercer lugar, nos encontramos con el esquema de colores Shapely, coloreando los residuos dependiendo de las propiedades del aminoácido:

En cuarto lugar, nos encontramos con el esquema de colores Group, que colorea los residuos dentro de su posición en la cadena macromolecular:

En quinto lugar, nos encontramos con el esquema de colores Chain, asignando a cada cadena macromolecular un color único:

En sexto lugar, nos encontramos con el esquema de colores Temperature, coloreando los códigos de cada átomo, de acuerdo con su temperatura anisótropo:

En séptimo lugar, nos encontramos con el esquema de colores Structure, colorea la macromolécula por la estructura secundaria de la proteína:

En octavo lugar, nos encontramos con el esquema de colores User, coloreando la estructura biológica según las ordenes, en este sentido introducidas, dentro del código fuente *.pdb:

En noveno lugar, nos encontramos con el esquema de colores Model, codifica cada modelo NMR con un color distinto:

En décimo y último lugar, nos encontramos con el esquema de colores Alt, coloreando la estructura base con un color y aplica un número limitado de colores a cada confórmero alternativo:

Procedemos ahora a realizar un análisis del quinto menú de nuestra barra de herramientas. Su denominación es Options y encontramos las siguientes posibilidades:
En primer lugar, podemos seleccionar la opción Slab Mode, que nos permite ir seccionando longitudinalmente nuestra macromolécula desde el plano más cercano hacía el más alejado:


Este mismo efecto, lo podemos conseguir con nuestro ratón, manteniendo el botón Control + boton izquierdo del ratón pulsado:

En segundo lugar, podemos seleccionar la opción Hydrogens, que permitirá la selección de hidrógenos cuando tratemos de identificar átomos individuales en nuestra macromolécula:

En tercer lugar, podemos seleccionar la opción Hetero Atoms, que permitirá la selección de heteroátomos cuando tratemos de identificar átomos individuales en nuestra macromolécula:

Veremos, dentro de un momento, a que me estoy refiriendo con esto de la selección de átomos individuales. Proseguimos con el cuarto lugar, donde podemos seleccionar la opción Specular, proporcionando brillo luminoso a nuestro modelo:


En quinto lugar, podemos seleccionar la opcion Shadows, proporcionando sombreado a nuestra estructura renderizada:


En sexto lugar, podemos seleccionar la opción Stereo, que proporciona una imagen especular al lado de nuestra original:


En séptimo lugar, podemos seleccionar la opción Labels, que nos proporciona información de cada átomo constituyente de la macromolécula biológica. Esto se consigue gracias a un código de especificadores de dicho átomo.
Código de especificadores
- %a: Nombre del átomo.
- %b, %t: Factor b, temperatura.
- %c, %s: Identificador de cadena.
- %e: Símbolo de elemento atómico.
- %i: Número de seriado del átomo.
- %n: Nombre del residuo en forma de código de tres letras.
- %r: Número de residuo.
- %M: Número del modelo NMR (con direccionado » / «).
- %A: Identificador de conformación alternativa (con direccionado » ; «).


A esta distancia, la identificación de estas etiquetas se hace algo difícil. Realicemos un zoom para nuestra comodidad:

Aprovechando la presentación del sexto menú en nuestra barra de herramientas, denominado Settings, os muestro otra interesante característica de nuestro visualizador macromolecular.
Además de poder mover nuestra estructura, podremos utilizar nuestro ratón para ir seleccionando distintas partes de nuestro modelo y, gracias a la ruta View -> Command prompt, iremos viendo distinta información en nuestra consola de ordenes:

Desde nuestro menú Settings, nosotros decidimos que información se mostrará en nuestra consola. Por defecto, se muestra el código identificador:

Y, por último y séptimo lugar tenemos un menú de ayuda Help, que nos proporcionará valiosa información sobre el uso y posibilidades de este programa:

En este sentido, aquí os muestro una traducción al español realizada por dos profesores de la Universidad de Granada, la cual me ha resultado muy útil en la realización de este artículo:
No quisiera olvidarme de comentar la posibilidad de visualizar el código fuente de nuestro archivo *.pdb, desde cualquier editor de textos instalado en nuestro equipo:

En otra ocasión, presentaré un excelente programa para poder realizar construcciones moleculares en nuestro equipo de escritorio: Avogadro.
Sirva el presente artículo como agradecimiento a todos esos nombres anónimos que realizan su labor científica en la sombra, sin fama ni gloria, y sin embargo aportan y comparten el mayor tesoro de la humanidad: el conocimiento.
Espero que os haya gustado…