BALL (Biochemical Algorithms Library) es un marco de clases C++ y un conjunto de algoritmos y estructuras de datos para el modelado molecular y la bioinformática estructural computacional , una interfaz Python para esta biblioteca y una interfaz gráfica de usuario para BALL, el visor de moléculas BALLView .
BALL ha evolucionado desde un producto comercial hasta convertirse en un software gratuito de código abierto con licencia GNU Lesser General Public License (LGPL). BALLView tiene licencia GNU General Public License (GPL).
BALL y BALLView se han portado a los sistemas operativos Linux , macOS , Solaris y Windows .
El visualizador de moléculas BALLView, también desarrollado por el equipo del proyecto BALL, es una aplicación C++ de BALL que utiliza Qt y OpenGL con el trazador de rayos en tiempo real RTFact como back-end de renderizado . Para ambos, BALLView ofrece visualización tridimensional y estereoscópica en varios modos diferentes y aplica directamente los algoritmos de la biblioteca BALL a través de su interfaz gráfica de usuario.
El proyecto BALL es desarrollado y mantenido por grupos de la Universidad del Sarre , la Universidad de Maguncia y la Universidad de Tubinga . Tanto la biblioteca como el visor se utilizan con fines educativos e investigadores. Los paquetes BALL están disponibles en el proyecto Debian . [1]
Características principales
- Dibujo molecular interactivo y edición conformacional
- Lectura y escritura de formatos de archivos moleculares (PDB, MOL2, MOL, HIN, XYZ, KCF, SD, AC)
- Lectura de fuentes de datos secundarias, por ejemplo (DCD, DSN6, GAMESS, JCAMP, SCWRL, TRR)
- Generación de moléculas a partir de expresiones SMILES y SMARTS y correspondencia de moléculas
- Optimización de geometría
- Clases de minimización y dinámica molecular
- Soporte para campos de fuerza (MMFF94, AMBER, CHARMM) para puntuación y minimización de energía
- Interfaz de Python y funcionalidad de scripting
- Infraestructura de complementos (Navegador espacial 3D)
- Gráficos moleculares (3D, visualización estereoscópica)
- Documentación completa (wiki, fragmentos de código, documentación de clases en línea, seguimiento de errores)
- pruebas de regresión integrales
- Formato del proyecto BALL para presentaciones e intercambio colaborativo de datos
- RMN
- Atajos editables
Biblioteca BALL
BALL es un marco de desarrollo para bioinformática estructural. El uso de BALL como herramienta de programación permite reducir en gran medida los tiempos de desarrollo de aplicaciones y ayuda a garantizar la estabilidad y la corrección al evitar la reimplementación de algoritmos complejos, que a menudo son propensos a errores, y reemplazarlos con llamadas a una biblioteca que ha sido probada por muchos desarrolladores.
- Importación y exportación de archivos
BALL admite formatos de archivos moleculares como PDB, MOL2, MOL, HIN, XYZ, KCF, SD, AC y fuentes de datos secundarias como DCD, DSN6, GAMESS, JCAMP, SCWRL y TRR. También se pueden crear moléculas utilizando el generador de péptidos de BALL o basándose en expresiones SMILES.
- Análisis de estructura general
La preparación adicional y la validación de la estructura se permiten mediante, por ejemplo, procesadores de Kekuliser, Aromaticity, Bondorder, HBond y Secondary Structure. Una biblioteca de fragmentos infiere automáticamente la información faltante, por ejemplo, los hidrógenos o enlaces de una proteína. Una biblioteca de rotámeros permite determinar, asignar y cambiar entre las conformaciones de cadena lateral más probables de una proteína. Los procesadores de transformación de BALL guían la generación de estructuras 3D válidas. Su mecanismo de selección permite especificar partes de una molécula mediante expresiones simples (SMILES, SMARTS, tipos de elementos). Esta selección puede ser utilizada por todas las clases de modelado, como los procesadores o los campos de fuerza.
- Mecánica molecular
Las implementaciones de los populares campos de fuerza CHARMM, Amber y MMFF94 se pueden combinar con las clases de minimización y simulación de BALL (descenso más pronunciado, gradiente conjugado, L-BFGS y L-VMM desplazado).
Interfaz de Python
SIP se utiliza para crear automáticamente clases Python para todas las clases C++ relevantes en la biblioteca BALL, a fin de permitir las mismas interfaces de clase. Las clases Python tienen el mismo nombre que las clases C++, para facilitar la transferencia de código que utiliza BALL de C++ a Python, y viceversa.
La interfaz de Python está completamente integrada en la aplicación de visualización BALLView y, por lo tanto, permite la visualización directa de los resultados calculados mediante scripts de Python. Además, BALLView se puede utilizar desde la interfaz de scripts y se pueden automatizar tareas recurrentes.
Vista de BALL
BALLView es la aplicación independiente de BALL para modelado y visualización de moléculas. También es un marco para desarrollar funciones de visualización molecular.
BALLView ofrece modelos de visualización estándar para átomos, enlaces, superficies y visualización basada en cuadrículas de, por ejemplo, potenciales electrostáticos. Una gran parte de la funcionalidad de la biblioteca BALL se puede aplicar directamente a la molécula cargada en BALLView. BALLView admite varios métodos de visualización y entrada, como diferentes modos estéreo, navegador espacial y dispositivos de entrada compatibles con VRPN.
En CeBIT 2009, BALLView se presentó de forma destacada como la primera integración completa de la tecnología de trazado de rayos en tiempo real en un visualizador molecular y una herramienta de modelado. [2]
Véase también
- Lista de sistemas de gráficos moleculares
- Lista de paquetes de software libre y de código abierto
- Comparación de software para modelado de mecánica molecular
- Software de diseño molecular
- Gráficos moleculares
- Editor de moléculas
Referencias
- ^ "Debian -- Detalles del paquete fuente ball en sid" . Consultado el 9 de agosto de 2021 .
- ^ "BALLView con capacidades de trazado de rayos en tiempo real demostrado en la conferencia de prensa oficial de Intel", sitio web de BALL, 3 de marzo de 2009. Archivado el 25 de julio de 2011 en Wayback Machine . Consultado el 13/12/10.
Lectura adicional
- Hildebrandt, Andreas; Dehof, Anna Katharina; Rurainski, Alexander; Bertsch, Andreas; Schumann, Marcel; Toussaint, Nora C; Moll, Andreas; Stockel, Daniel; Nickels, Stefan; Mueller, Sabine C; Lenhof, Hans-Peter; Kohlbacher, Oliver (2010). "BALL - Biblioteca de algoritmos bioquímicos 1.3". BMC Bioinformatics . 11 : 531ff. doi : 10.1186/1471-2105-11-531 . PMC 2984589 . PMID 20973958.
- Kohlbacher, Oliver; Lenhof, Hans-Peter (2000). "BALL: creación rápida de prototipos de software en biología molecular computacional". Bioinformática . 16 (9): 815–24. doi : 10.1093/bioinformatics/16.9.815 . PMID 11108704.
- Moll, Andreas; Hildebrandt, Andreas; Lenhof, Hans-Peter; Kohlbacher, Oliver (2005). "BALLView: una herramienta para la investigación y la educación en modelado molecular". Bioinformática . 22 (3): 365–6. doi : 10.1093/bioinformatics/bti818 . PMID 16332707.
- Moll, Andreas; Hildebrandt, Andreas; Lenhof, Hans-Peter; Kohlbacher, Oliver (2006). "BALLView: un marco de modelado y visualización molecular orientado a objetos". Journal of Computer-Aided Molecular Design . 19 (11): 791–800. doi :10.1007/s10822-005-9027-x. PMID 16470421. S2CID 22875661.
Enlaces externos
- Sitio web oficial
- Página web de BALLView
- Biblioteca de códigos
- Galería
- Tutoriales