Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
UNIVERSIDAD AUTONÓMA DE MADRID Departamento de Biología Molecular Facultad de Ciencias Diseño de Sistemas Bioinformáticos y Biología Computacional aplicados en Nanobiotecnología Molecular Médica NOMBRE DEL SUSTENTANTE ALLAN OROZCO SOLANO Licenciado en Ingeniería y Master Universitario en Nanociencia y Nanotecnología molecular (UAM) Director: Dr. José Valverde Carrillo. Co-director: Dr. Victor Maojo. TESIS PRESENTADA COMO REQUISITO PARCIAL PARA OPTAR POR EL DOCTORADO EN BIOQUÍMICA, BIOLOGÍA MOLECULAR, BIOMEDICINA Y BIOTECNOLOGÍA (BIOCIENCIAS MOLECULARES). Madrid, Septiembre 2017 Confirmación del Supervisor Declaro haber supervisado la presente tesis y en consecuencia aprobar su presentación con una evaluación positiva. --------------------------------------------------------------------------- Fecha y firma del primer supervisor ----------------------------------------------------------------------------- Nombre del primer supervisor en mayúsculas ----------------------------------------------------------------------------- Fecha y firma del segundo supervisor -------------------------------------------------------------------------------- Nombre del segundo supervisor en mayúsculas ------------------------------------------------------------------------------- Fecha y firma del tercer supervisor --------------------------------------------------------------------------------- Nombre del tercer supervisor en mayúsculas iii Agradecimiento Al Dr. José Valverde del CNB/UAM (Madrid) por todo su gran apoyo y asesoría incondicional antes, durante y después de todo el trabajo investigativo. Un agradecimiento por el apoyo dado al Dr. Víctor Maojo (Catedrático UPM) de la Universidad Politécnica de Madrid. Al Dr. José María Carazo del CNB (Madrid) por su valioso aporte en todas las consultas y consejos dados. Al Dr. Alfonso Valencia por la oportunidad brindada en el Departamento de Biología Estructural y Biocomputación del CNIO (Madrid) como coordinador científico de la plataforma nacional de Bioinformática de España (INB/ISCII). Al Dr. Tomás Torres (Catedrático UAM) y al Dr. Rodolfo Miranda (Catedrático UAM) por su gran apoyo durante mi trabajo preliminar de maestría en Nanotecnología en el Departamento de Química Orgánica de la UAM (Madrid) y todo su respaldo posterior. Agradecimiento infinito al Ing. Antonio Solano (MIT/Harvard/TEC), Ing. Verónica Alfaro (TEC) y Carlos Cruz (CENFOTEC) por su valioso aporte, desarrollo e investigación con VizGVar (sistema de variantes genómico/farmacogenómico). Agradecimiento a la Ing. Laura Vázquez (INTEL/TEC) por su gran aporte en la aplicación e investigación de Pathways Analizer (rutas metabólicas en E. coli) bajo mi supervisión. Agradecimiento a PROSIC (UCR) por la publicación de tres capítulos temáticos relacionados con esta investigación, durante 2012, 2013 y 2014. Así mismo, igualmente a la Universidad Nacional Autónoma de México (UNAM) por la publicación de parte del presente trabajo, en una edición especial (Nanotecnología en América Latina) en 2015 y a la sociedad IEEE (CR/USA) por su apoyo a esta investigación y a la publicaciones del mismo en Xplore Digital Library IEEE (USA) en 2017. Así mismo, a Briefings Bioinformatics de la Universidad de Oxford (UK) por publicar componentes del presente estudio. Al Departamento de Bioquímica y Biología Molecular de UAM (Madrid) por la oportunidad académica brindada. A la Universidad de Valencia, Facultad de Medicina, por obtener el premio de investigación en la Cátedra de Sistemas Genómicos, en 2015/2016 en España. Agradecimiento a David Meléndez, Franklin Hernández y a José Zúñiga por su colaboración asociada. Un enorme agradecimiento al Dr. Juan Porras del HSJD por sus aportes y excelente trabajo para el caso de los sistemas de información en Patología, instalación del NGS, servidores y medicina molecular, y al Ing. Emmanuel Varela por su gran ayuda en el trabajo de configuración del clúster. Y a la Universidad de Costa Rica, Consejo Universitario, por obtener el premio de “Universitario Destacado” en 2015/2016. Finalmente, lo dedico a mis padres y especialmente a mi madre Nelly por su inquebrantable fe y amor relacionado con el cumplimiento de las metas en mi vida. V Resumen El avance de la Nanobiotecnología Molecular crece a un ritmo acelerado y en forma conjunta una cantidad de datos e información biológica emerge vertiginosamente cada vez a escalas más pequeñas. Por lo tanto, la Bioinformática y Biología Computacional, disciplinas científicas encargadas del estudio de datos moleculares de origen genético, proporcionan una gran ayuda combinando técnicas y métodos, con el objeto de resolver problemas de interés, especialmente en el campo de la genómica y medicina molecular, con aplicación al campo clínico. En el campo del diseño de sistemas de software siempre es necesario cumplir con una serie de requisitos y especificaciones con el propósito de producir un producto funcional que responda a estándares de calidad. La gran mayoría de los métodos que hemos investigado se fundamentan en la metodología de Waterfall (cascada) y giran en torno a varias fases fundamentales: Ingeniería de Requisitos., Diseño, Programación (código) y Verificación. Se muestra en Bioinformática que disponer de excelentes recursos y habilidades de programación junto con los cumplimientos de métodos estandarizados conduce al diseño de un buen sistema ajustado al usuario. En este aspecto es necesario estudiar en detalle los requerimientos y especificaciones del sistema, bajo un entorno de modelos y vocabularios controlados en Nanotecnología Molecular Médica. Estas observaciones indican la importancia de la investigación en el diseño de Sistemas Bioinformáticos aplicados al campo de Medicina Molecular. Con el fin de investigar en estas relaciones, hemos procedido a diseñar, programar e implementar mediante técnicas de Ingeniería de Software, cinco aplicaciones desktop (Nanociencia, Estructuras, Farmacogenómica, Radiología, Patología) una aplicación web (Sistema de Variantes) y un Webapp (NGS) de forma integral. El análisis general mostró la necesidad de desarrollar nuevas variaciones en los estándares para el desarrollo de software en Nanobiotecnología. Los resultados de este trabajo indicaron la viabilidad funcional de generar nuevos diseños para realizar cálculos genómicos, cálculos atómicos, interfaces de variabilidad de mutaciones, optimación de rutas metabólicas, y verificaciones de variaciones genómicas convencionales e inciertas en los genes BRCA1 y BRCA2 en el campo de la Nanotecnología, Genética y Anatomopatología molecular. Se muestra que el diseño de sistemas en Nanobiotecnología en su estado actual (en que diversos grupos trabajan de forma aislada es aspecto muy concretos) es aún embrionario e insostenible a largo plazo, y que requerirá la integración de datos multidisciplinarios para abordar problemas complejos. Nuestros resultados inciden sobre nuevas ideas, relaciones de conocimiento, y distintos aspectos con el propósito de avanzar en el diseño de Sistemas en Bioinformática aplicados a la Nanomedicina Molecular. vii Abstract Molecular Nanobiotechnology is advancing at an accelerating rate that is accompanied by an enormous quantity of data and biological information, increasingly reflecting objects of smaller scales. As a result, Bioinformaticsand Computational Biology, scientific disciplines oriented mainly to the study of molecular data of genetic origin, provide the support needed in the form of combined methods and computational algorithms, aiming to solve and relate problems of interest, specially in the fields of Genomics and Molecular Medicine, existing a growing interest in applying them in the clinical praxis. In the field of software development and design, it is always necessary to fulfill a collection of requisites and specifications in order to produce a functional product that matches the required quality standards. Most of the developments that we carried out are based on the waterfall model and revolve around several fundamental steps: requirement engineering, design, programming/coding and testing. We have shown that it is essential to building a successful Bioinformatics-based system to employ excellence resources, good programming skills, and standardized development methods that meed the user needs. Any failure will seriously impact the quality of the delivered product in a context tightly controlled by software requirements and specifications and controlled vocabularies such as that of medical nanotechnology. These observations prompt the importance of research in the field of design of bioinformatics systems applied to molecular medicine. In order to research these relationships, we have contacted users and proceeded to test various software development methodologies developing five desktop applications (in the fields of Nanoscience, Structural Biology, Pharmacogenomics, Radiology and Pathology) a web application (genetic variation analysis) and an App (NGS), all from scratch. The analysis of the results gathered during the design, development and use of these showed the relevance of developing new variations in the standard methods of software development when applying them in Nanobiotechnology. We have also paved the way to the development of novel designs for integrated genomic, atomic level, mutational variability and metabolic analysis, showing their utility by their application to the verification of conventional and uncertain genomic variants of genes BRCA1 and BRCA2 in the fields of Genetic Nanotechnology and Molecular Pathology. We show that the field of software development in Nanobiotecnology is still in its early stages (with many groups working isolated in very specific aspects) and that we consider that it is, in its current form, hardly sustainable in the long term, and that it will demand the integration of many multidisciplinary sources and tools to reach complex environments, specially related to the integration of Bioinformatics in Molecular Medicine. We place special emphasis on novel approaches, knowledge integration and various aspects devoted to advance Systems Design in Bioinformatics applied to Molecular Nanomedicine. viii 1 Índice Tabla de contenido Agradecimiento……… ……………………………………………………………………………………….…………………v Resumen………… ………………………….….……………………………………………………………………………..vii Abstract…………… …………………………………………………………………………………………………………viii Índice ………………………………………………………………………..…………….………………..…………………………..1 Tabla de contenido ............................................................................................................................................................................... 1 1 Introducción ...................................................................................................................................................................................... 7 1.1 Definición de Bioinformática, Biología Computacional y Nanobiotecnología ......................................................................... 7 1.2 Nanobiotecnología en las Ciencias Moleculares y Medicina .................................................................................................. 10 1.3 Métodos tradicionales para el desarrollo de sistemas informáticos ........................................................................................ 12 1.4 Modelo Waterfall (Cascada) .................................................................................................................................................. 12 1.5 Modelo V ............................................................................................................................................................................... 14 1.6 Modelo Iterativo ..................................................................................................................................................................... 15 1.7 Modelo RAD .......................................................................................................................................................................... 15 1.8 Modelo Ágil ........................................................................................................................................................................... 16 1.9 Modelo Interactivo ................................................................................................................................................................. 17 1.10 Modelo RUP .......................................................................................................................................................................... 18 1.11 Tipos de Requisitos ................................................................................................................................................................ 19 1.12 Diseño y Estándares de Sistemas Bioinformáticos y Biología Computacional ....................................................................... 20 1.13 Diseño de Sistemas en Bioinformática y Biología Computacional ......................................................................................... 21 1.14 Estado del Arte ....................................................................................................................................................................... 22 1.15 Problema: Caso de Estudio .................................................................................................................................................... 23 Hipótesis……………………………………………………………………………………………………………….24 2 Objetivos ................................................................................................................................................................................ 26 2.1 Objetivo general ..................................................................................................................................................................... 26 2.2 Objetivos específicos ............................................................................................................................................................. 26 3 Materiales y Métodos ............................................................................................................................................................. 28 3.1 Aspectos generales ................................................................................................................................................................. 28 3.2 Identificación de Requisitos Funcionales ............................................................................................................................... 28 3.3 Requisitos no Funcionales ...................................................................................................................................................... 29 3.4 Procedimiento General ........................................................................................................................................................... 34 4 Resultados ..............................................................................................................................................................................35 4.1 Marco general ........................................................................................................................................................................ 35 4.2 Análisis de Requisitos Funcionales ........................................................................................................................................ 36 4.3 Diseño y Programación de App para Sistema NGS ................................................................................................................ 37 2 4.4 Sistemas de Procesamiento Biocomputacional en Radiología (TAC/PET/NMR) .................................................................. 40 4.4.1. Equipo TAC ...................................................................................................................................................................... 41 4.4.2. Equipo RMN (Resonancia Magnética Nuclear) ................................................................................................................. 41 4.4.3. Equipo PET ....................................................................................................................................................................... 42 4.4.4. Requisitos Funcionales ...................................................................................................................................................... 44 4.5 Modelación y Flujos de Trabajo de Procesamiento Digital en Anatomía Patológica Molecular ......................................... 45 4.6 Sistema de Información en Farmacogenómica ................................................................................................................... 48 4.6.1. Diseño para un Sistema de Análisis de Variantes Genéticas Farmacológicas...................................................................... 49 4.7 Sistema Análisis de Variantes Genómicas Clínicas (Medicina Genómica Molecular) ....................................................... 50 4.7.1. Diseño y Metodologías del Sistema VizGVar.................................................................................................................... 52 4.8 Diseño de Sistemas de Tratamiento de Datos en Nanociencia Básica ................................................................................ 53 4.9 Diseño de Sistemas de Visualización Enriquecida de Nanoestructuras Moleculares .......................................................... 56 4.10 Diseño de Sistemas de Tratamiento de Datos en Biología de Sistemas y Biología Sintética. Caso de uso en E. coli ......... 58 4.11 Modelo de Información para Implantes Mamarios con Nanosensores (Nanobiotecnología Médica) ................................. 61 4.12 Integración de Bioinformática, Nanotecnología y Medicina Genómica con Datos de Secuenciación Masiva (NGS) ........ 62 4.13 Aspectos Formativos en Bioinformática y Nanotecnología para Estudios de Biodiversidad, Genómica y Medicina Molecular. .......................................................................................................................................................................................... 65 5. Discusión ................................................................................................................................................................................ 68 5.1 Discusión general .................................................................................................................................................................... 68 5.2 Discusión específica ................................................................................................................................................................. 71 5.2.1 Diseño Bioinformático en Sistemas de Información Móviles para NGS (Medicina Genómica) .............................................. 71 5.2.2 Sistemas de Procesamiento Biocomputacional en Radiología (TAC/PET/NMR) .............................................................. 72 5.2.3 Diseño en Sistemas de Procesamiento Digital en Anatomopatología Molecular ............................................................... 72 5.2.4 Diseño de Sistema de Análisis de Variantes Genómicas Clínicas (Medicina Molecular) .................................................. 73 5.2.5 Diseño de Sistemas de Análisis en Nanociencia Básica ..................................................................................................... 73 5.2.6 Diseño de Sistemas de Visualización Enriquecida de Nano- Estructuras Moleculares ...................................................... 74 5.2.7 Diseño de Sistemas en Biología de Sistemas y Sintética Molecular: Caso E. coli ............................................................. 74 5.2.8 Modelo de Sistema de Información para Implantes Mamarios (Nanotecnología Médica en Biosensores) ........................ 74 5.2.9 Bioinformática y Secuenciación Masiva para el Análisis de Variantes de BRCA1 y BRCA2 en Oncología ..................... 75 5.2.10 Aspectos Formativos en Bioinformática y Nanotecnología Molecular .............................................................................. 76 5.3 Comprobación de la Hipótesis de partida ............................................................................................................................... 77 5.4 Recomendaciones................................................................................................................................................................... 79 5.5 Alcances ................................................................................................................................................................................. 80 6 Conclusiones ........................................................................................................................................................................... 82 7 Bibliografía ............................................................................................................................................................................. 84 Lista de Figuras.................................................................................................................................................................................. 92 Lista de Tablas ................................................................................................................................................................................... 95 Anexo…………………………………………………………………………………………………….……………………………96 3 Abreviaciones AFM Atomic-Force Microscopy API Application Programming Interface BRCA1 Breast Cancer 1 BRCA2 Breast Cancer 2 cDNA complementary DNA CNV Copy Number Variation CSS Cascading StyleSheets D3 Data Driven Documents DICOM Digital Imaging and Communication in Medicine DNA DeoxyriboNucleic Acid EcoRI Escherichia coli RI FASTQ Sequence format GB GigaByte HER2 Human Epidermal growth factor Receptor 2 HL7 Health Level Seven HTML5 HyperText Markup Language, version 5 IaaS Infrastructure as a Service JSON JavaScript Objec KEGG Kyoto Encyclopedia of Genes and Genomes KGML KEGG Markup Language NCBI National Center for Biotechnology Information NGS Next Generation Sequencing NMR Nuclear Magnetic Resonance NT NanoTube MPS (Massive Parallel Secuencing) OLEDB Object Linking and Embedding for Databases Paa Platform as a Service PACS Picture Archiving Communication System PDB Protein Data Bank PET Positron Emission Tomography PHP Hypertext PreProcessor 4 POO Object-Oriented Programming RA Augmented Reality RAD Rapid Application Development REST Representational State Transfer RFID Radio Frequency Identification RNA RiboNucleic Acid RNAseq RNA sequencing RUP Rational Unified Process SaaS Software as a Service SBMLSystems Biology Markup Language SDK Software Development Kit SNP Single Nucleotide Polymorphism SOAP Simple Object Access Protocol SQL Structured Query Language STM Scanning Tunneling Microscope TAC Computer Axial Tomography TCP/IP Transmission Control Protocol/Internet Protocol UML Unified Modeling Language VRML Virtual Reality Modeling Language WGS Whole Genome Sequencing X coverage XML Extensible Markup Language XP eXtreme Programming VB Visual Basic 5 Justificación El creciente avance de la Nanobiotecnología Molecular y junto a ella, la creciente cantidad y clases de datos e información de orden biológico, plantean novedosos problemas que precisan del diseño e innovación de nuevos Sistemas Bioinformáticos y de Biológica Computacional. Actualmente, la Nanotecnología Molecular tiene como uno de sus entornos de desarrollo preferente el contexto médico. En este contexto todas las prioridades están supeditadas necesariamente a la atención al paciente, el diagnóstico y el desarrollo de metodologías terapéuticas. El tratamiento de datos complejos, siendo necesario, debe supeditarse a importantes restricciones operativas. Para reducir el tiempo necesario en el análisis de la información especializada precisa es necesario considerar requisitos y vocabularios controlados que relacionen el espacio atómico/molecular con su aplicación práctica en el campo clínico. La Bioinformática puede ayudar a resolver muy diversos problemas y actividades emergentes en la Biotecnología, y en especial la Biomedicina, relacionando los cambios de escala y orden de magnitud de los objetos de estudio. Para ello es preciso, o bien una extensa formación del personal de primera línea en campos adicionales fuertemente especializados, o bien la incorporación de personal altamente especializado en cada uno de estos campos adicionales o, preferiblemente, el desarrollo de herramientas adaptadas al contexto altamente especializado de los diversos campos de investigación que sean suficientemente generales, intuitivas, fáciles de usar y poderosas como para satisfacer las diversas necesidades de los profesionales en cada uno de estos campos. En nuestra opinión, esta última es probablemente la opción más razonable en las circunstancias actuales, al menos, hasta que se pueda suplir la demanda de personal especializado e incorporarlo a equipos multidisciplinares. Dado que hasta ahora la Bioinformática se ha dirigido fundamentalmente al campo de la investigación académica, no es evidente cómo se puede lograr esta transferencia entre campos tan diversos. Si partimos de la premisa de que existe un conjunto de actividades nuclear que es común a los diversos campos de aplicación, sería en teoría posible desarrollar un entorno de trabajo general de utilidad en todas estas áreas. Incluso si esta premisa no pudiera demostrarse como válida, cabe la posibilidad de desarrollar un conjunto de 6 herramientas que, combinadas, satisfagan las necesidades de la mayoría de campos de aplicación. Este trabajo, partiendo de la hipótesis de que existe un núcleo de necesidades comunes, y que estas pueden ser cubiertas de manera satisfactoria para una amplia diana de usuarios diversos, pretende identificar las necesidades de los diversos ámbitos de aplicación y, basándose en esta información aportar una o más herramientas de funcionalidad integral y relacional que soporten nuevos proyectos multidisciplinarios en el campo de la Medicina Molecular, Genética y Clínica. Un objetivo secundario de este trabajo es identificar la metodología de desarrollo de software más apropiada. En gran parte debido a su juventud, pero también a la fuerte presión de la competencia y a la orientación prioritaria al laboratorio de investigación, la práctica habitual en Bioinformática ha venido ignorando en gran medida las metodologías de desarrollo y control de calidad, existiendo una amplia escasez de información sobre su adecuación al entorno tremendamente dinámico que afronta la Bioinformática. 7 Capítulo I 1 INTRODUCCIÓN 1.1 Definición de Bioinformática, Biología Computacional y Nanobiotecnología La Bioinformática es, desde un punto de vista general, una ciencia multidisciplinar que procesa información biológica. Más específicamente, desde sus orígenes generales (en que la distinción con la Biología Teórica llegó a estar difusa), el campo de aplicación de la Bioinformática se ha ido especializando en el análisis de la información hereditaria codificada en la molécula del ADN (ácido desoxirribonucleico) y localizada habitualmente en estructuras especializadas llamadas cromosomas, localizadas en el interior de la célula (directamente en procariotas, o en núcleo celular, cloroplastos y mitocondrias en eucariotas) (Orozco, 2013). La representación en un código de letras de los componentes básicos del ADN (y por tanto de la información genética) es afortunada en cuanto nos permite establecer una analogía simbólica con procesos de transmisión de comunicación que nos resultan familiares. La información genética codificada en el ADN se transmite a cada célula hija mediante su duplicación (un fenómeno conocido como replicación). El ADN se mantiene en una estructura de dos cadenas complementarias, lo que permite mantener una copia de referencia para corregir errores (mutaciones) e incluso, en organismos diploides (o poliploides), esta doble cadena se mantiene en numerosas copias como mecanismo de seguridad adicional. La información contenida sirve para determinar los procesos vitales. Para ello se obtiene una “copia de trabajo” en una molécula similar, el ARN (ácido ribonucleico) que se obtiene por un proceso denominado transcripción. El ARN sirve de guía para la fabricación de proteínas (un proceso denominado traducción) que son responsables de llevar a cabo en última instancia las funciones vitales. Desde este mismo prisma, el ADN se comporta como una gran biblioteca. En la molécula de ADN se ha ordenado la información de una manera que podríamos comparar a “libros” (como los cromosomas) y “capítulos” (como los grupos de genes), 8 constituidos por “frases” (operones y genes) y “palabras” (motivos de secuencia). La similitud, aunque cómoda e ilustrativa, queda muy lejos de la realidad: en la práctica, la organización de la información sigue una estructura y lógica internas altamente especializadas que estamos aún lejos de comprender completamente, lo que ha dado lugar a la expresión del “lenguaje de la vida”. Para descifrar esta información, es primordial entender los diferentes tipos de datos, técnicas y tecnologías bioinformáticas desarrolladas para su respectivo procesamiento e integración. Por ejemplo, las principales fuentes de datos bioinformáticas, provienen de procesos relacionados con secuencias biológicas (nucleótidos y aminoácidos), variaciones genómicas, estructuras y señales codificantes y no codificantes del ADN, traducción y transcripción génica, huellas en motivos y dominios (obtenidos a partir de alineamientos múltiples), etc. que nos ayudan a descifrar el lenguaje genético. Pero también necesitan de datos procedentes de otras disciplinas que nos ayudan mediante la contextualización a identificar o asignar un significado a los elementos de secuencias, tales como modelos atómicos y moleculares de estructuras de proteínas, información clínica, acciones y eventos celulares en redes bioquímicas y metabólicas, expresión génica (cDNA, mRNA, etc.), expresión de proteínas, microscopía y espectrometría de masas, minería de textos biomédicos. En el caso de la Nanotecnología los datos provienen de equipos básicos tales como AFM, STM y SEM (todos equipos especiales para estudios a nivel atómico y molecular de la materia) y de bio-sensores nanotecnológicos (Orozco, 2013). Por tanto, la Bioinformáticaes una ciencia que adquiere, almacena, organiza, procesa, gestiona y distribuye ingentes cantidades de datos e información de carácter biológico (Orozco, 2012). Dentro de las áreas de atención de la Bioinformática están las Biociencias Moleculares (Biotecnología, Biomedicina, Bioquímica, Biología molecular) y sus derivadas denominadas “ómicas” (derivado del latín –oma- que significa “conjunto o masa”) y entre las que, como ejemplo, podemos citar la Genómica, Proteómica, Metabolómica, Transcriptómica, Epigenómica, Metagenómica, Nutrigenómica (ver figura 1.1). Estas ciencias “ómicas” fundamentalmente se encargan del estudio, relación y generación de datos y anotaciones relacionadas con genes, proteínas, biomoléculas y 9 redes metabólicas a escala de todo un organismo, con el fin de comprender mejor el funcionamiento y estabilidad de los distintos organismos. (Orozco, 2012). De un modo similar a como el término Bioinformática se ha ido reservando para el tratamiento de la información, la Biología Computacional concentra sus esfuerzos en el desarrollo de métodos de modelación, procesamiento y simulación de datos biológicos complejos soportados por herramientas dinámicas de alta potencia (HPC, Clúster, Servidores, Supercomputadoras, Cloud, Big data, etc.). El objetivo en este caso, más que descifrar o manipular la información, es utilizarla para construir modelos complejos que nos permitan formular hipótesis sobre el funcionamiento de los seres vivos. Es el caso de la modelación tridimensional de estructuras proteicas y la predicción de función molecular mediante predicción de interacciones (anclaje o docking), o integración de datos de expresión y regulación de microarreglos (microarrays), el desarrollo e implementación métodos para estudios poblacionales tipo GWAS (análisis de asociación en SNPs y CNVs a nivel poblacional), la construcción de modelos epidemiológicos geo-espacio-temporales, el control de calidad de datos de secuencias, empalmes de RNA-seq, etc., (Orozco, 2012). La Nanobiotecnología es una ciencia que estudia e introduce las técnicas nanotecnológicas (en escala de 1 nm) en la Biotecnología, en donde esta a su vez, emplea las alteraciones moleculares, celulares y de organismos para proporcionar bienes de uso comercial e industrial en la sociedad (Karkare, 2008). Por ejemplo, la organización y funcionalización de estructuras de DNA con nanopartículas de oro se emplean en prototipos con el fin de comprender mejor por ejemplo, del proceso biológico cancerígeno, siendo uno de los mejores ejemplos de la Nanobiotecnología molecular médica. Las acciones de la Nanobiotecnología en las Ciencias Moleculares se han orientado hacia las Ciencias Básicas y la Biomedicina (Orozco, 2013). 10 Figura 1. 1. Mapa conceptual de división de la Bioinformática y su relación con Nanotecnología. (Orozco, 2013). Finalmente, la Nanobiotecnología es también una rama de la nanotecnología con distintas aplicaciones en el campo de la Biología. Por tanto, el desarrollo de estudios de Bioinformática que tengan el propósito de crear sistemas computacionales en la Nanobiotecnología Biomédica Molecular, implica también estudiar dispositivos como nanosensores, nanorobots y nano-ontologías que brinden información y datos mediante la interacción de objetos biológicos, por ejemplo, en las diversas patologías provenientes de enfermedades complejas. 1.2 Nanobiotecnología en las Ciencias Moleculares y Medicina La Bioinformática y la Nanotecnología son ciencias relativamente modernas (en comparación con otras) que tienen en común el estudio de aspectos atómicos y moleculares de la materia, donde la Bioinformática, fundamentalmente se concentra en los aspectos del tratamiento de la información del campo biológico. Actualmente, el empleo de aparatos denominados “ultrasecuenciadores” está revolucionando el mundo de la Genética por la capacidad que ofrecen al profesional de las Ciencias de la Vida 11 para leer, ordenar, comparar y almacenar rápidamente secuencias de ADN de los organismos existentes. Podemos visualizar dicha molécula como una cadena lineal de información compuesta básicamente por un abecedario de tan solo cuatro letras o nucleótidos. Cada célula de nuestro cuerpo contiene más de 3 mil millones de letras de este tipo, escritas de forma secuencial en un orden, secuencia y estructura muy precisa. Por tanto, el descubrir un desorden o alteración (un “error gramatical o tipográfico”) en las cadenas de nucleótidos del ADN, permite su asociación con desórdenes funcionales o factores de riesgo en enfermedades de origen o causa genética y molecular. Por consiguiente, la razón fundamental del éxito de estas tecnologías yace en la capacidad de leer los genomas (todas las letras de información del ADN) de los organismos con muchos menos experimentos, gran rapidez, mayor precisión, y gran economía en consumo de reactivos químicos en contraposición a las tecnologías de secuenciación basadas en técnicas capilares empleadas de forma estándar anteriormente. A un nivel más específico, la ciencia aplicada de la Nanotecnología en el análisis y estudio de moléculas vinculadas con la Salud humana se llama Nanomedicina. Actualmente, la Nanomedicina y Farmacogenómica (Hughes, 2011) tratan de encontrar puntos comunes de integración, como por ejemplo el diseño de “Bucky Balls” que son cápsulas nanoestructuradas y funcionalizadas que contienen en su interior fármacos de interés (carga química disponible) que son transferidos a receptores de nivel celular y/o molecular. En el caso de estudios de perfiles genéticos/clínicos de un paciente ayudarían a mejorar la recepción, transformación y acción de los distintos metabolitos y sus dianas terapéuticas. Actualmente, las técnicas genómicas están en constante progreso, y el uso clínico es fundamental para el diagnóstico oncogenómico (perfil genético del paciente y clase tumoral molecular) y asignación del tratamiento más efectivo (la gran promesa de la “medicina personalizada”). Para el análisis de variantes del ADN (Hulse & Cai, 2013) y para el diseño de nanocápsulas y anclaje (docking) funcional, durante el proceso de funcionalización, es primordial catalogar las interacciones a nivel estructural (aceptor-receptor) a través de técnicas de modelación y simulación molecular propias de la Biología Computacional (Orozco, 2012). 12 1.3 Métodos tradicionales para el desarrollo de sistemas informáticos El proceso general para desarrollar un producto “software” se ha dividido tradicionalmente en las etapas siguientes: Análisis de Requisitos, Diseño del Sistema, Programación, Verificación e Instalación y Mantenimiento (ver figura. 1.2). Desde el punto de vista de la Bioinformática y su utilización en Nanotecnología aplicada a la Medicina, es fundamental atender los diversos aspectos de diseño de software, particularmente en el Diseño e Ingeniería de requisitos, con la creación de sistemas que dispongan de especificaciones y estándares de alto cumplimiento y, sobre todo, establecer un control de calidad que garantice la adecuación de las herramientas desarrolladas, un aspecto, desafortunadamente, ampliamente ignorado, descuidado o infravalorado en la actualidad. Figura 1. 2. Diagrama general de etapas para la producción de un producto software., modificación de Sangeeta, 2008. 1.4 Modelo Waterfall (Cascada) El Modelo en Cascada es conocido también como Ciclo de Vida del Software y está compuesto de etapas básicas para el desarrollo de un sistema computacional (ver figura 1.3). Constituye un modelo integrado por fases (capas) donde cada una proporciona un proceso particular de documentación. Un inconveniente importante de este método es la carencia de validaciones de calidad (detección de errores) desde el inicio del proceso. 13 Figura 1. 3. Diagramadel método de cascada para el desarrollo de software (Amos et al, 2005). Los principales componentes del método están constituidos por los siguientes niveles o etapas (Sommerville, 2005): 1) Requerimientos del Sistema: Son obtenidos mediante consulta en función de las necesidades del usuario. 2) Requerimientos del Software: Esta etapa abstrae a nivel relacional las diferentes especificaciones obtenidas en los requerimientos del sistema. 3) Análisis: La etapa donde se analizan los elementos estáticos y funcionales particulares del sistema, conlleva detallar efectos, restricciones y funcionamiento global del sistema. 4) Diseño del Programa: Establece los diagramas, componentes y relaciones del sistema. 14 5) Codificación: Se emplean las diversas técnicas y métodos de programación para llevar el sistema del diseño abstracto al plano completamente funcional. 6) Validación y Prueba: Consiste en las pruebas necesarias para verificar la funcionalidad y detectar errores, verificando la robustez del sistema. 1.5 Modelo V El modelo en V trata de subsanar el inconveniente del Sistema Waterfall o de Cascada, por el que no hay disponibilidad del control de pruebas desde la fase inicial. Para ello, tiene un enlace transversal de prueba y verificación hacia las etapas de requisitos, diseño y especificaciones a través de comprobaciones especiales aplicadas al mismo sistema (ver figura 1.4). Este sistema cruzado conduce a mejoras muy notables en el control de calidad del proceso de producción en un producto software (Sangeeta, Sabharwal, 2008). Figura 1. 4. Diagrama del método V para desarrollo de software (versión modificada de Wiki, 2016). 15 1.6 Modelo Iterativo El modelo iterativo tiene las mismas fases que el modelo en cascada (ver, figura 1.5). Es apropiado implementarlo cuando tenemos requerimientos muy bien definidos, procesos muy lineales y a la vez cuando disponemos de un repositorio de funcionalidades (códigos) indispensables para crear rápidamente un sistema específico (Puntambekar, 2008). En este modelo, se empieza con un prototipo básico al que se le va añadiendo, poco a poco, elementos funcionales adicionales. Figura 1. 5. Diagrama del método iterativo para el desarrollo de software. 1.7 Modelo RAD Este modelo se caracteriza por disponer de un ciclo de desarrollo del proceso muy corto. El método del modelo es también muy similar al modelo de cascada (ver figura 1.6). La razón de la celeridad en la implementación con este modelo se basa en el empleo de código (retro-ingeniería) programado en otras etapas y procesos, además de integrar componentes reutilizables. El modelo RAD tiene alto nivel de abstracción y emplea convencionalmente utilidades de modelado CASE (Ingeniería asistida por ordenador) y lenguajes de muy alto nivel de abstracción. 16 Figura 1. 6. Diagrama del método RAD para el desarrollo de software. 1.8 Modelo Ágil Aunque el modelo ágil es más flexible comparado con el modelo de cascada, generalmente no acepta cambios a los elementos ya introducidos durante el transcurso de las diversas iteraciones (Dimes, 2015). El modelo emplea dos ciclos, enlazados con un proceso de mantenimiento (ver figura 1.7) con el propósito de entregar un producto de mayor calidad mediante la aplicación de un ciclo cerrado iterativo repetitivo. La denominación proviene de la máxima “producir pronto, producir a menudo”: la diferencia fundamental es que se introducen cambios muy pequeños en cada iteración, liberándose con mucha frecuencia nuevas versiones. Esto permite detectar fallos de adecuación a las necesidades rápidamente, cuando los cambios son aún pocos y fáciles de corregir. Figura 1. 7. Diagrama del método ágil para el desarrollo de software 17 1.9 Modelo Interactivo Se emplea cuando los documentados de requisitos existentes no son muy claros en la descripción del proceso que se pretende reproducir en el ordenador. La idea subyacente es ir generando prototipos de forma rápida de forma que el usuario pueda ir comprobando a cada paso si el diseño se adapta a sus necesidades y expectativas o no (véase figura 1.8). Una de las ventajas de este modelo es que, al no partir de unas especificaciones iniciales rígidamente definidas, la ingeniería de requisitos puede ser revisada y ajustada durante todo el proceso de desarrollo (Pressman, 2006). Así mismo, proporciona al usuario la posibilidad de establecer criterios de validación y aprobación para cada versión producida antes del producto final. La idea general es que cuando no están claros los requisitos en el momento de partida, se puede partir de un diseño general e ir refinando y ajustando las especificaciones a medida que el usuario va probando prototipos. Figura 1. 8. Diagrama del método interactivo para desarrollo de software. 18 1.10 Modelo RUP Conserva la estructura del modelo en cascada, con la diferencia de la introducción de casos de uso (requisitos funcionales) especializados. En general, para el destinatario del desarrollo de software, resulta más fácil describir el funcionamiento esperado empleando ejemplos aplicados a casos concretos. Un caso de uso describe en general las interacciones entre un sistema y los usuarios a nivel funcional. Este modelo desarrolla una arquitectura mucho más estable y un proceso iterativo mejor ajustado (ver figura 1.9). El problema de las metodologías descritas anteriormente son las limitaciones en la comunicación dinámica con el usuario en las distintas etapas del proceso de desarrollo (Pantaleo, Ludmila, 2015). La inclusión de casos tipo de uso facilita la comunicación entre el arquitecto de software y el usuario, que usan lenguajes técnicos altamente especializados pero a menudo incomprensibles entre ambos. Este modelo se ha beneficiado fuertemente de la introducción de lenguajes de programación orientados a objetos (POO) que permiten una mayor abstracción expresiva. El modelo de RUP se apoya fundamentalmente en UML (Lenguaje de Modelado Universal) con el que se expresan los componentes abstractos (objetos), sus posibles estados y las relaciones entre ellos empleando diagramas gráficos, lo que facilita enormemente la comunicación de alto nivel con el usuario final. Figura 1. 9. Diagrama del método RUP para el desarrollo de software. 19 Figura 1. 10. Diagrama del modelo UML para el desarrollo de software y sistemas (versión modificada del modelo de Jacobson, 2006). Para poder considerar adecuado un desarrollo de software, este debe de cumplir los requisitos establecidos por el usuario (sean estos predefinidos o establecidos dinámicamente durante el desarrollo). Como se puede observar en la figura 1.10, en los modelos de desarrollo basados en UML, esta fase está embebida entre la descripción de casos de uso y la construcción de interfaces con el usuario (Booch et al, 2006). 1.11 Tipos de Requisitos Los principales tipos de requisitos que se obtienen habitualmente a partir de las especificaciones de diseño (Wiki, 2017), y que son fundamentales en el diseño de cualquier sistema, son los siguientes: 1. Requisitos de Usuarios: Necesidades que los usuarios expresan verbalmente. 2. Requisitos del Sistema: Son los componentes que el sistema debe tener para realizar las tareas solicitadas. 3. Requisitos Funcionales: Servicios que el sistema debe proporcionar al cliente/usuario. 20 4. Requisitos no funcionales: Definen aspectos de cómo debe ser el sistema. 1.12 Diseño y Estándares de Sistemas Bioinformáticos y Biología Computacional La etapa de diseño es uno de los primeros pasos en el desarrollo de cualquier producto o sistema proveniente de la aplicación de los principios de la ingeniería del software. El objetivo del diseñador es producir un modelo o representaciónde una entidad (sistema) que será construida más adelante (Amo et al, 2005). Esta etapa puede dividirse en dos fases: Diseño preliminar (Diseño de datos, Diseño de Arquitectura del software, Diseño de Interfaz) y Diseño detallado (Diagrama modular, especificaciones, pruebas y validaciones). Para confeccionar adecuadamente un sistema de software es fundamental identificar los requisitos de usuario en términos de funcionalidad e interfaces de uso. Es fundamental considerar los protocolos experimentales como casos de uso (áreas específicas) y establecer una retro-alimentación para validar la Ingeniería y Arquitectura funcional de los sistemas programados. Por ejemplo, en la Nanotecnología la mayoría de datos e información provienen de análisis con microscopios de alta resolución atómica (AFM y STM) y estos resultados visuales deben ser procesados empleando las especificaciones propias del mismo fabricante (Orozco, 2012). Para poder definir los requerimientos de un sistema conviene emplear protocolos de trabajo bien definidos por la ingeniería del software consistentes típicamente en la definición del problema, la descripción funcional, la caracterización de las restricciones, el uso de diagramas de flujo de datos, el modelado de datos (identificación de las propiedades de los objetos con los que se trabaja), elaboración de un diccionario de datos, recopilación de casos de uso y en general de documentos adicionales que puedan ayudar a especificar y/o aclarar los requerimientos. Para poder construir los requisitos según un protocolo como los descritos y es en todo momento preciso contar con la colaboración del usuario. Este es uno de los aspectos menos cuidados en el desarrollo de software científico y que demanda métodos de interacción específicos y bien reglados de interacción con el usuario. 21 1.13 Diseño de Sistemas en Bioinformática y Biología Computacional El diseño de software integra todas las actividades de planificación que son necesarias para construir cualquier producto o sistema. Las especificaciones de requisitos deben recopilarse a partir de datos e información de carácter Biológico, Químico y Físico (ver la figura 1.11). En este sentido, se trata de diseñar experimentos para hacer aflorar los esquemas mentales a menudo subconscientes, de los expertos en un área, realizando hipótesis sobre los mismos, elaborando prototipos y comprobando experimentalmente (con la colaboración del usuario) su adecuación a las expectativas que los han originado. Figura 1. 11. Proceso de desarrollo y pruebas de un sistema o producto software (Amos et al, 2005). La metodología experimental necesaria para obtener esta información debe hacer, en el caso de la Bioinformática, uso de técnicas derivadas a menudo de la psicología y ciencias sociales para explorar los modelos mentales, combinándolas con los métodos anteriormente descritos de ingeniería para fabricar y ajustar los prototipos. Entre las técnicas más comúnmente usadas contamos con las entrevistas, el método Delphi (consultar con expertos), los talleres (workshops), las tormentas de ideas (brainstorming), JAD (desarrollo conjunto de aplicaciones, Joint Application Development), formularios estructurados, definición de objetivos mensurables, elaboración de prototipos para su comprobación, y elaboración de casos de uso que 22 puedan ser empleados como referencia en la implementación y como vara de medida de verificación de la calidad y adecuación. Del empleo de estas técnicas cabe obtener básicamente dos tipos de resultados: por un lado, la identificación de necesidades funcionales comunes a todos los usuarios (tales como p. ej. el acceso a bases de datos), lo que podríamos denominar la identificación de “leyes universales”, y por otro (y más a menudo) la identificación de necesidades funcionales más o menos específicas o generales pero no universales. 1.14 Estado del Arte En la actualidad, el diseño e implementación de herramientas en Bioinformática y Biología Computacional aplicadas al campo de la Biología, Biotecnología y Química molecular es un trabajo de gran desarrollo y envergadura. Pero cuando hablamos de integración e intercambio de datos a nivel multiescala, es necesaria la introducción de la Nanoinformática de forma complementaria cuando nos referimos al campo de la nanomedicina, nanobiotecnología y medicina molecular. Esta integración muldisciplinaria debe tener una consideración biológica y caracterización de materiales funcionales para ser aplicado al contexto clínico. La Nanoinfomática se refiere al uso de técnicas informáticas para analizar y procesar información sobre la estructura y características físico-químicas de las nanopartículas, su entorno y aplicaciones, siendo un área emergente entre la intersección de la informática, nanotecnología, medicina y ciencias básicas (Biología, Química y Física) (Maojo et al, 2010). Con el fin de abordar la organización y homogenización del enorme volumen de información que la investigación de la nanotecnología está produciendo actualmente, los científicos necesitan apoyo y herramientas semánticas, como terminologías, vocabularios, léxicos, nomenclaturas, códigos, léxicos, ontologías, taxonomías (de la Iglesia et al, 2013). Un problema importante es que la ciencia de nanomateriales biológicos aún está en una etapa muy temprana. Eso supone que aún no sabemos cómo diseñar nanopartículas para minimizar efectos tóxicos en animales y plantas. Por tanto, es esencial para los investigadores que utilizan nanopartículas con fines terapéuticos, sean capaces de acceder a información relevante sobre nanotoxicología (García et al 2013). En los últimos años muchos de los métodos de computación y aplicaciones en la biomedicina han usado una serie de enfoques para resolver problemas complejos. Estas 23 aplicaciones biomédicas se han orientado a resolver problemas con métodos de integración de datos, ontologías biomédicas y vocabularios, minería de texto, secuenciación de ADN y RNA, relaciones entre mutaciones de genes y enfermedades, desarrollo de estándares de representación para el intercambio de la información, desarrollo de herramientas para la integración multi-escala para simulaciones biomédicas y sistemas computarizados para soporte de la práctica clínica (Maojo et al, 2012). Por tanto, es necesaria una nomenclatura sistemática para formulaciones y caracterización de nanopartículas para mejorar la claridad y estandarización en la búsqueda, localización y comparación de datos de nanoestructuras especificas dentro de las grandes bases de dato clínicas (Maojo, et al, 2012). Finalmente, es importante mencionar que existirán cinco grandes grupos donde habrán cambios significativos a futuro para las aplicaciones en nanotecnología y nanoinformática: Sistemas de entrega (Diseño de nanopartículas como transportadores), Implante de dispositivos (Diseño de nanorobots monitoreo específico de enfermedades), Diagnóstico y prevención ( Diseño de nanopartículas para usarlas en diagnóstico de patologías de ciertas enfermedades), Terapéutica (Aplicaciones nanoinformáticas para terapias con drogas específicas) y Materiales (Diseño de nanomateriales con características biomoleculares) (Maojo et al, 2012). 1.15 Problema: Caso de Estudio El caso del desarrollo de cáncer de mama e implantes en mastectomía radical con inflamaciones laterales (recurrencia y perpetuidad patológica) Cuando existe duda en el diagnóstico del cáncer de mama, generalmente es establecido un procedimiento de extracción de biopsia donde se requieren sistemas de información en patología en relación a la caracterización de patrones y artefactos presentes en un análisis óptico del extendido histológico. Posteriormente, para el caso del control en la evolución de los tumores mamarios se requieren sistemas de informaciónradiológicos (TAC, PET, NMR, etc.) para una vinculación con los diversos modelos de mutaciones de las variabilidades de la información genética asociada. Así mismo, cuando requerimos aplicar los medicamentos al paciente es necesario conocer las variantes genéticas del paciente de cáncer de mama para conocer la efectividad en términos de clasificadores, metabolizadores y sistemas 24 farmacogenómicos (estudio de las variantes de CYP450). Para conocer estas variantes genómicas con validación clínicas (excluyendo inciertas), es necesario establecer procedimientos y métodos NGS basados en Bioinformática y Nanotecnología (celdas de flujo para secuenciación) para las muestras de ADN a partir del tejido. Estos tests genómicos requieren el diseño de un sistema de información en variantes genómicas (conocer variantes de BRCA1 y BRCA2) que tengan relación relevancia clínica y a la vez asociadas con anotaciones farmacogenómicas para efectos de la selectividad de medicamentos a partil de la expresión genética del paciente. Se han realizado estudios en casos de mastectomía radical, parciales y casos de reducciones de mama que han recibido implantes mamarios (silicona) de inflamación perpetua patológica por causa del cáncer de mama (recurrencia). Para ciertos casos de cáncer de mama se han detectado niveles importantes de E. coli en el tejido que se sabe que contribuyen a inducir roturas de ADN en células HeLa (células humanas cultivadas). Aquí existe un gran vacío de investigación, y para ello se ha investigado de forma complementaria la modificación del ADN a nivel bacteriano para E. coli en transformación de productos orgánicos como la leche. La leche humana contiene bacterias beneficiosas y puede estar jugando un papel en el cáncer de mama. Para estudiar estos procesos es requerido adicionalmente un sistema para detección y optimización de rutas bioquímicas (Pathway Az) a través de un modelo sintético para el lactato/piruvato de la E coli. Por último, ésta y otras muchas patologías se pueden beneficiar del uso de nanopartículas para diagnóstico y nuevos tipos de terapia dentro del área de la nanomedicina. Todas estas posibilidades plantean la necesidad de nuevos modelos de diseño de estudios y de abordaje clínico, que no pueden realizarse con modelos tradicionales usados en la práctica clínica actual. Hipótesis La hipótesis de este trabajo se centra en un enfoque multidisciplinar y original relacionado con un área situada en la intersección entre la bioinformática, la nanociencia, nanotecnología, biotecnología, el procesamiento de imágenes biomédicas, genómica, farmacogenómica, medicina molecular, y cirugía reconstructiva (implantes), para resolver problemas generales y/o específicos, además del estudio de las relaciones existentes entre dichas áreas. Concretamente, la hipótesis es que las aplicaciones Bioinformáticas existentes, orientadas al laboratorio de investigación no son 25 directamente transferibles y que esta nueva área en la intersección de las disciplinas mencionadas necesita un nuevo entorno de desarrollo y de formación con un fuerte componente informático, y la definición de nuevas competencias. La principal dificultad de esta hipótesis radica en las diferencias existentes, en formación y métodos de razonamiento y trabajo que difieren, en este nuevo enfoque multidisciplinar, de las disciplinas de las que parte en un inicio. Para solucionar los problemas surgidos en esta área multidisciplinar es necesario un nuevo enfoque que, partiendo de metodologías ya contrastadas, facilite el abordaje de los nuevos problemas planteados. Basados en esta hipótesis, los objetivos de este trabajo se centran en determinar los sistemas analíticos y de tratamiento de la información necesarios en el contexto clínico, identificar los requisitos que deben cumplir las herramientas de tratamiento de la información para ser útiles y aceptables en dicho contexto, y definir las condiciones en que se puede y deben usar las metodologías de desarrollo existente para obtener el resultado deseado en función de cada contexto clínico específico. 26 Capítulo II 2 OBJETIVOS 2.1 Objetivo general Identificar y satisfacer los requerimientos de los distintos usuarios en el ámbito de la Nanotecnología y la Genómica, con especial énfasis en las aplicaciones en medicina molecular. Partiendo de la hipótesis de que existen requisitos comunes a todos estos usuarios, o al menos requisitos funcionales de interés para amplios sectores, nuestro objetivo es verificar su existencia, identificarlos y satisfacerlos. 2.2 Objetivos específicos Identificar y analizar casos representativos específicos de cada una de las fuentes de datos y metodologías empleadas en la Nanociencia, Biología molecular, Biotecnología, Genética y Nanotecnología. Sustanciar la hipótesis de que existen una serie de requerimientos funcionales universales o al menos mayoritarios para los profesionales estudiados. Establecer distintos modelos conceptuales y ontologías que vinculen la Bioinformática y Biología de Sistemas con la Nanobiotecnología Molecular médica a través de distintos ejemplos. Validar la aplicabilidad de los diversos métodos de “ingeniería social y del software” para la recopilación de requisitos y el desarrollo de software en Bioinformática. Diseñar específicamente varios modelos y aplicaciones que satisfagan necesidades comunes o mayoritarias en los campos de interés para los investigadores estudiados: Nanociencia, Farmacogenómica, variantes genómicas, rutas metabólicas, anillos radiológicos y módulo molecular, implantes mamarios y visores dinámicos de estructuras moleculares. Verificar la utilidad de los sistemas desarrollados mediante su aplicación en problemas reales de interés en biomedicina, tales como la neurociencia 27 (enfermedad de Alzheimer), metabolismo y oncogenómica (genes BRCA1 y BRCA2 y cáncer de mama). Diseñar un sistema de datos (aplicación web) con interfaces de usuario adecuadas a las necesidades recopiladas, empleando la ingeniería de requisitos, etapas de desarrollo y protocolos de trabajo de la ingeniería de sistemas, aplicado al caso específico de la Nanotecnología molecular médica. Estudiar los requisitos necesarios para construir una infraestructura computacional que pueda proporcionar el soporte preciso a las herramientas de tratamiento de la información necesarias por el profesional de la medicina molecular Aprovechar el desarrollo de estas aplicaciones para investigar la adecuación de diversas metodologías de desarrollo a las distintas situaciones y contextos para derivar recomendaciones que sirvan de guía al desarrollo futuro de nuevas aplicaciones técnicas adaptadas al entorno médico Investigar y colaborar en la formación de la Bioinformática, Genómica y Nanotecnología médica aplicada en la medicina molecular. 28 Capítulo III 3 MATERIALES Y MÉTODOS 3.1 Aspectos generales Entre las metodologías más modernas para el proceso de desarrollo de software se han utilizado las siguientes: Cascada Rapid Application Development (RAD) Rational Unified Process (RUP) Por otra parte, para los “sistemas de sobremesa” se empleó el método de ciclo de vida. El modelado UML constituyó una valiosa herramienta gráfica para la construcción y especificación de los sistemas bioinformáticos de manera conjunta con los sujetos diana. 3.2 Identificación de Requisitos Funcionales Los requisitos para un desarrollo de software se pueden clasificar formalmente en tres tipos: funcionales (características solicitadas por el usuario), no funcionales (recursos técnicos necesarios para implementar los requisitos funcionales) y organizativos oadministrativos (el marco contextual). Las especificaciones generales se definieron en base a 1) entrevistas con usuarios de diversos laboratorios y centros de investigación en Centroamérica contactados a través de la Red Centroamericana de Bioinformática y de América Latina contactados a través de la Sociedad Iberoamericana de Bioinformática (SOIBIO), 2) Método DELPHI, a través de consultas con especialistas en Bioinformática, Biocomputación y Medinformática miembros de las mencionadas Red Centroamericana de Bioinformática y SOIBIO, 3) Talleres organizados durante las reuniones de la Red Centroamericana de Bioinformática. Para la definición de los requerimientos de aplicaciones concretas desarrolladas en colaboración con grupos profesionales específicos se emplearon además 4) tormentas de ideas, 5) desarrollo conjunto, 6) formularios estructurados, 7) definición de objetivos mensurables, 8) elaboración de prototipos, y 9) elaboración de casos de uso. 29 3.3 Requisitos no Funcionales Herramientas Técnicas: Se emplearon los siguientes lenguajes de programación: VS.NET (Visual Studio, 2015), R, Perl y Javascript. En bases de datos se utilizó el recurso MySQL. Para los accesos de datos se emplearon los siguientes recursos: Servicio web REST, FTP, APIs (interfaces de programación) en Java y Perl, y Web SOAP. Así mismo, se han empleado librerías de acceso a objetos como: OLEDB y CORTONA (control VRML/PG, CORTONA, 2016). Para el desarrollo de la tecnología móvil se empleó el entorno SENCHA. Los formatos de datos empleados fueron los siguientes: XML, SBGN, SBML, FASTQ, FASTA, JSON, KGML, PDB y archivos planos (texto). Para las plantillas de datos correlacionados se utilizó las librerías de D3 (templates). Se accedió a las siguientes bases de datos con elementos recursivos: ENSEMBL, COSMIC (Cosmic, 2017), INTERPROSCAN5 (InterProScan5, 2016), PDB, SWISSPROT, GENBANK (NCBI, RefSNPs, 2017). Uso de licencia GNU. Además, se empleó el sistema de Autodesk (123 Desing), modelación con bioimpresión PLA (3D) para el caso del implante mamario. Se empleó la herramienta R (Bioconductor) para acceder a listas de proteínas y genes (Gentleman et al, 2005; Bioconductor 2017). Se empleó el sistema OsiriX (Osirix, 2017) para visualizar y efectuar algunos procesos de renderización (3D) de algunas imágenes biomédicas (córtex Alzheimer y mama). Instrumentación y Equipo en general: Se emplearon tres computadoras portátiles DELL/Mac/Linux, 1 sistema de sobremesa (e-machines/0.5 TB), Servidores Rackable (procesador AMD; rack 23 unidades), con discos duros de 1TB. Sistemas operativos: Centos 7, iSOMac, Linux y Windows 7. Microscopio de Fuerza Atómica (AFM) Nanotec, con un cantiléver Olympus (RC800PSA(ORC8)), constante de fuerza nominal de 0.38 y 0.75N/m, punta (forma piramidal) con radio de 20 nm y un microscopio óptico complementario. Procesamiento de imágenes mediante: WSXM (Nanotec). Secuenciador masivo NGS MiSEQ (Illumina, USA). Equipo de extracción de ADN tradicional de laboratorio analítico. Investigación de equipos TAC/NMR/PET (CCSS, Caja Costarricense del 30 Seguro Social). RFIDS (activos y pasivos) de alta y baja frecuencia (MHz Y GHz), lector RFID, unidad móvil HUAWEI P8Lite. Muestras Biológicas: Las muestras biológicas fueron proporcionadas y analizadas a través de colaboraciones con CIHATA (Centro de Investigaciones en Hematología y Trastornos afines), UCR (Universidad de Costa Rica) y Departamento de Patología del HSJD (Hospital San Juan de Dios de Costa Rica). Requisitos no funcionales para las aplicaciones de tecnología móvil: En torno a las aplicaciones informáticas existen tres tipos de “apps” para su implementación en tecnología móvil: a) App nativa: implica un desarrollo para un sistema operativo específico en un “kit” y plataforma desarrolladora: iOS (lenguaje objective C), Android (Lenguaje Java) y Windows (VS.net). b) Webapp: implica un desarrollo generalmente en lenguajes como HTML, Javascript y CSS y es funcional independientemente de la plataforma de contenido. c) Web App Nativa (híbrida): es una combinación de a) y b), retomando lo mejor de cada una de ellas. Para las aplicaciones web móviles desarrolladas en la investigación se utilizó la plataforma denominada SENCHA (v2.4.2, 2016) que es una interfaz de usuario (UI)/Webapp que implementa diversas librerías en Javascript (Javascript, 2015). Las facilitaciones brindadas por la “app” en SENCHA establecen la posibilidad de funcionar en sistemas operativos Android, Windows, iOS y Blackberry basado en HTML5 (HTML5, 2015), CSS3 (CSS3, 2016) y Javascript. La plataforma SENCHA tiene gran versatilidad, rendimiento y amigabilidad para edición de código y dispone de comprobaciones especiales para Ext. JS Apps. 31 Para el procesamiento de datos en la aplicación móvil se empleó la ecuación de Lander/Waterman para la determinación de la cobertura genómica: ( ) ⁄ (3.1) Donde: C: Cobertura genómica (Coverage) L: Longitud de lectura. N: Número de lecturas (fragmentos genéticos) G: Longitud del Genoma (Haploide) Para la validación paramétrica de los resultados se utilizó la calculadora genómica de Illumina para MiSEQ® y HiSEQ® (Illumina Inc, 2017) en el “kit” de reactivos químicos TruSEQ (Illumina, Inc, 2017). Además, se empleó el sistema Illumina experiment manager v1.13 con un pre-kit type: TruSEQ rapid exome. Requisitos no funcionales para los sistemas de sobremesa: Para desarrollar las aplicaciones de sobremesa (aplicaciones “desktop” o para ordenador personal) hemos empleado la plataforma de trabajo Microsoft VS IDE (2015), un SDK bastante versátil tanto a nivel de aplicaciones .NET o basadas solamente para entornos web. La plataforma empleó un entorno multiplataforma para lenguajes C++, C# y VB. Además, integra un compilador Roslyn para C#. En la aplicación desarrollada para Nanociencia se empleó la siguiente ecuación matemática en función de las distancias atómicas /moleculares para definir el parámetro BLA: ( ) [ ( ) ( )] ⁄ (3.2) Dónde: Cβ, Cα son distancias atómicas en Å). En esta aplicación se consideraron 10 parámetros de transferencia funcional. Para el caso de la aplicación PA (Pathway Analizer), hemos empleado el repositorio iGem (MIT) para acceso del registro de partes biológicamente estandarizadas y recurso KEGG (Kaneshia, 2014) empleando Ruby/XML para el cálculo de rutas metabólicas del 32 proceso. Las transformaciones de rutas fueron convertidas al formato GraphML. Para la optimización de rutas se empleó el algoritmo de Dijkstra (Morris, 1988) y JUNG (Java Universal Network/Graph Framework) para los entornos de modelación y visualización. En las transformaciones de los mapas metabólicos de KEGG se empleó KEGG TRANSLATOR (Wrzodek, 2011). Finalmente, para la gestión 3D de las estructuras moleculares se utilizó VRML (Lenguaje de modelado de realidad virtual) con entradas PDB y controles internos dinámicos de VB. NET (SDK). Para el caso de las imágenes de radiología se emplearon convertidores para formato DICOM y gestores para archivos de imágenes en J2EE. Requisitos no funcionales para las aplicaciones web: Son aplicaciones creadas en una relación cliente/servidor con resultados embebidos en un navegador web que requiere conexión a Internet. Para las aplicaciones desarrolladas en los servidores web (capa del servidor) hemos empleado los siguientes lenguajes de programación: PHP, Javascript, Ruby, Node js y VB. En la arquitectura de capa del navegador se utilizó HTML5. Una de las razones principales de la selección fue la compatibilidad (navegador) y laversatilidad mostrada en los entornos multiplataforma. En el caso de la aplicación VizGVar los datos fueron obtenidos por la API de Ensembl y fueron clasificados en los siguientes tipos: dominios, motivos, exones, genes y variaciones (respaldo de dBSNP de NCBI), con acceso a otras fuentes secundarias como COSMIC (Sanger, UK) y PharmGKB (PharmGKB, 2017). La Herramienta VizGVar fue desarrollada usando Javacript, HTML5 (Gille, 2014) para el procesamiento de las secuencias genéticas y CSS con soporte en librerías D3, junto con objetos de animación de JQuery (JQuery, 2015), Así mismo, se empleó graficación vectorizada escalable (SVG) para el funcionamiento del algoritmo de cuerdas que correlaciona los distintos ciclos por línea espacial de cada variación. Para la confección del prototipo funcional se empleó el lenguaje de programación Processing. Requisitos no funcionales para la plataforma integral (servidores y NGS): Con el fin de proporcionar un entorno de uso e implementación de algunos servicios desarrollados (principalmente aplicaciones web), se construyó una plataforma bioinformática integral dentro de un espacio de investigación clínica proporcionado por el Hospital San Juan de Dios (HSJD). Para tal fin se usó un secuenciador masivo (NGS) MiSEQ® de Illumina con las siguientes características: Sistema de BioSíntesis (SBS), 33 Intel Core® i7-2710QE 2.10 GHz CPU, 16 GB RAM, DD 0.5 GB. Para el uso del KIT Reagent v2: Desde 1 x36 bp (540- 610 MB, TT 4 hrs) hasta 2x 250 bp (7.5- 8.5 GB, TT 39 hrs), con un manejo de calidades (Q) de: >90% Q30 (1 x 36 bp), >80% Q30 (2 x 150 bp), 75% Q30 (2 x 250 bp) y una celda de flujo (Flowcell) con banda única de secuenciación (line) de alto rendimiento. Para la estructura de los servidores se construyeron dos racks reforzados (23 servidores apilables distribuidos) y tres fuentes de estabilización de picos de corriente eléctrica y voltaje. La vinculación del estado PIN para la comunicación entre el NGS y servidores se estableció vía IP (TCP/IP). La arquitectura distribuida se estableció con un servidor maestro (nodo central), DNS y 22 servidores subordinados, comunicados mediante CENTOS 7 (LINUX/RHEL/GPL). La configuración de cada servidor se realizó de forma individual, para posteriormente establecer un enlace en red (Ethernet local) junto con el NGS (Zhongming, 2012). Las salidas de cada ciclo de secuenciación se obtuvieron del “MiSEQoutput” (carpeta) en formato FASTQ e inter-conversiones en formato de texto plano (txt). Para la tarea de la distribución de archivos se empleó HADOOP (Framework APACHE) que funcionó como una plataforma JAVA. Se asignó en el sistema principal un Jobtracker (maestro) y un Tasktracker (tareas paralelas). Para la función de rastreo entre nodos se empleó el JRE. Esta plataforma descrita nos permitió analizar el ADN de muestras biológicas de pacientes en investigación clínica. En el caso de los genes BRCA1 (localización: 17q21.31) y BRCA2 (localización: 13q13.1), que son genes implicados en la reparación del ADN y estabilidad genómica, se analizó las variantes clínicas (Ho et al, 2008) en los 24 y 27 exones respectivamente. Para el caso de BRCA1 existen 22 codificantes y para BRCA2 26 codificantes. Para el caso del BRCA1 en la literatura disponible se han documentado 7.661 variaciones de secuencia, con 15 variaciones estructurales de la proteína. Por otro lado, para el caso de BRCA2 se han documentado 9,539 variaciones de secuencia del gen, con nueve variaciones estructurales. Para el caso de BRCA1 existen 22 codificantes y para BRCA2 26 codificantes. Estos análisis fueron realizados por el sistema VizGVar en versión transformada (input FASTQ). Para efectos de simulación preliminar se desarrolló un clúster virtual (Centro de Informática, UCR) con las siguientes características: 34 Composición del clúster virtual: 2 nodos virtuales con las siguientes características: Almacenamiento básico de 2 TBytes (RAM mínimo 2GB por nodo. Procesador Quadcore 4 Ghz (mínimo) por nodo, procesamiento elástico para cálculo intensivo y procesamiento paralelo (MPI). Acceso remoto (SSH, puerto 22), VPN privada, Acceso a Internet, Puertos FTP habilitados, sistema de backup de máquina virtual y Sistema Operativo GNU/Linux CentOS. Lista de puertos abiertos (central): 80,8080,443 (http(s)) 22 (ssh)/terminal 20,21 (ftp) 3.4 Procedimiento General En función del material obtenido en la recopilación de requisitos funcionales (funciones deseadas por los usuarios), hemos decidido desarrollar cinco aplicaciones de sobremesa, 1 aplicación web, 1 WebApp y finalmente una Infraestructura Bioinformática de secuenciación masiva para análisis de variaciones en BRCA1 y BRCA2. Para diseñar, programar, simular y validar todas las aplicaciones descritas, hemos empleado diversos sistemas de referencia (caso BRCA1 y BRCA2: BCRA Exchange) computadoras portátiles y servidores, empleando distintas plataformas de desarrollo pre-instaladas. El principal esfuerzo fue cuantificado mediante horas/rendimiento/trabajo a través de tecnología SDK y Time/Hands on. Para el caso de la construcción de la Infraestructura, se contó con el apoyo de especialistas técnicos del Centro Hospitalario (HSJD) en las siguientes etapas: Instalación eléctrica, Racks, Montaje de servidores, Respaldo, controlador de picos de voltaje y Sistemas de enfriamiento del espacio. Una vez finalizada dichas etapas, se procedió a configurar y conectar vía TCP/IP el sistema de servidores con el equipo de NGS, para finalmente instalar y probar el sistema web de variantes genómicas. La etapa final consistió en el análisis de pruebas con muestras biológicas (CIHATA) y salidas en FASTQ en el controlador de variantes de anotación clínica (BRCA1 y BRCA2). 35 Capítulo IV 4 RESULTADOS 4.1 Marco general El primer objetivo de este trabajo es identificar las necesidades específicas del usuario en Medicina Molecular. Como se ha comentado en el marco teórico, el avance de la Nanobiotecnología molecular crece de forma extraordinaria. La creación de nuevos diseños aplicados tiene impacto directo en las nuevas formas de consumo científico, investigación y tecnología como el Big data y comunidades en Nube (Cloud), así como a través de consultas en dispositivos móviles (Apps). En el contexto médico molecular, es necesario brindar plataformas e infraestructuras integradas como servicios (SaaS, Paas, IaaS), una vinculación dirigida al empleo y aplicación práctica de sistemas de consulta en el campo clínico. En nuestra experiencia el modelado de sistemas bajo estándares especiales (UML, ver figura 4.1) para la Nanotecnología molecular ha demostrado proporcionar una herramienta intuitiva y fácil de comprender para el usuario que permite modelar sistemas integrativos multidisciplinares complejos. Figura 4. 1. Modelo general de interacción de un usuario (basado en UML) para el desarrollo de sistemas en Bioinformática en Nanotecnología (variación de Jacobson et al, 2000). 36 Finalmente, los profesionales consultados aspiran a que la medicina de precisión del futuro pueda abordar enfermedades complejas mediante la integración de datos procedentes de fuentes heterogéneas. 4.2 Análisis de Requisitos Funcionales Nuestra hipótesis de partida se basaba en la presunción de que era posible encontrar un “núcleo duro” de requisitos funcionales común a todos o, si no, a la vasta mayoría de los usuarios. Este conjunto de requisitos había sido identificado de forma preliminar en las fases preparatorias y tempranas del análisis de requisitos, en las que se preguntó por las previsiones de necesidades de análisis de datos. El análisis preliminar apuntaba a una necesidad común de acceso a un conjunto común de bases de datos (EMBL/Genbank, PDB, OMIM, ZINC...) y un
Compartir