Giter Club home page Giter Club logo

chempln's Introduction

Versión Python Licencia

Sistema de Extracción Automática y Visualización 3D de Moléculas en Textos Biomédicos


II Hackathon de tecnologías del Lenguaje

Sistema de análisis de texto de documentos biomédicos, que extrae referencias a medicamentos, moléculas, y otros compuestos químicos, mediante técnicas de reconocimiento de entidades biomédicas nombradas, y que permite visualizar en 3 dimensiones las estructuras moleculares detectadas, así como ver información semántica complementaria de ellas. La aplicación está pensada para ayudar a estudiantes de titulaciones de ciencias de la salud (Medicina, Farmacia, Biotecnología, etc.). Se utilizan técnicas de Procesamiento del Lenguaje Natural para extraer las entidades químicas nombradas y, mediante consultas a fuentes de Datos Enlazados Abiertos (Linked Open Data) se recupera información semántica multilingüe sobre dichas entidades, además de información de la fórmula y la estructura molecular del compuesto. Esa estructura se dibuja y se muestra a los usuarios en un modelo 3D que permite rotar y hacer zoom en las moléculas para poder estudiarlas mejor. Además, la librería que hemos desarrollado permite realizar búsquedas en sciELO de artículos científicos que hablen sobre las moléculas detectadas (también de forma multilingüe), visualizar los artículos, o cargarlos en la aplicación para buscar nuevas moléculas y compuestos.

Instalación

El sistema necesita las siguientes librerías externas para funcionar:

1. Descargar el código

$ git clone https://github.com/epuertas/ChemPLN.git
$ cd ChemPLN

2. Instalar las dependencias

$ mkvirtualenv ChemPLN
$ pip install -r requirements.txt

Si tienes instalado Anaconda también se puede utilizar esta herramienta para instalar las dependencias. Puedes consultar como hacerlo en la web de cada módulo.

3. Descarga de modelos de ChemDataExtractor

$ cde data download

Ejecución y uso de la herramienta

Para utilizar la aplicación, lo primero que hay que hacer es lanzar el servicio de procesamiento de información: Abrimos un terminal en el directorio del proyecto y escribimos la siguiente línea:

$ python chemInfo3D.py

La interfaz del sistema es una aplicación web a la que podemos acceder abriendo en un navegador web la dirección "localhost:8080".

pantalla inicial de la aplicación

Lo primero que veremos es un editor de texto en el que podemos introducir el texto biomédico que queremos analizar. La interfaz carga por defecto un ejemplo con un texto de un fragmento de un caso clínico.

Una vez introducido el documento, pulsando en el botón "Procesar Texto", se analiza, y cuando termina el análisis se nos muestra un panel con un listado de los compuestos químicos encontrados. Al pinchar en un compuesto, se muestra la siguiente información:

  • Nombre del compuesto.
  • Formulación químicas.
  • Descripción del compuesto (multilingüe).
  • Visualizazción 3D interactiva.
  • Imagen en 2D.
  • Listado de artículos disponibles en SciELO relacionados con el compuesto seleccionado (multilingüe).

Visualización de moléculas en 3D

Listado de artículos científicos de SciELO

En la parte superior del panel de información tenemos un selector de idioma que nos permite elegir, para aquellos elementos multilingües, en qué idioma queremos recuperar y ver la información. Aunque el prototipo sólo muestra opciones para inglés y español, el sistema tiene implementado soporte para todos los idiomas disponibles en ScieLO para los artículos (español, inglés, portugués, etc.), y todos los idiomas de la Wikipedia para la información general.

chempln's People

Contributors

epuertas avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.