BioJava es un proyecto de software de código abierto dedicado a proporcionar herramientas Java para procesar datos biológicos . [1] [2] [3] BioJava es un conjunto de funciones de biblioteca escritas en el lenguaje de programación Java para manipular secuencias, estructuras de proteínas, analizadores de archivos, interoperabilidad de Common Object Request Broker Architecture (CORBA), Distributed Annotation System (DAS), acceso a AceDB, programación dinámica y rutinas estadísticas simples. BioJava admite una gran variedad de datos, desde el ADN y las secuencias de proteínas hasta el nivel de las estructuras de proteínas en 3D. Las bibliotecas de BioJava son útiles para automatizar muchas tareas bioinformáticas diarias y mundanas , como analizar un archivo de Protein Data Bank (PDB), interactuar con Jmol y muchas más. [4] Esta interfaz de programación de aplicaciones (API) proporciona varios analizadores de archivos, modelos de datos y algoritmos para facilitar el trabajo con los formatos de datos estándar y permite un rápido desarrollo y análisis de aplicaciones.
Autor (es) original (es) | Andreas Prlić |
---|---|
Desarrollador (es) | Amr ALHOSSARY, Andreas Prlic, Dmytro Guzenko, Hannes Brandstätter-Müller, Thomas Down, Michael L Heuer, Peter Troshin, JianJiong Gao, Aleix Lafita, Peter Rose, Spencer Bliven |
Versión inicial | 2002 |
Lanzamiento estable | 5.2.1 / 5 de febrero de 2019 |
Repositorio | github |
Escrito en | Java |
Plataforma | Navegador web con Java SE |
Disponible en | inglés |
Tipo | Bioinformática |
Licencia | Menor GPL 2.1 |
Sitio web | biojava |
Los proyectos adicionales de BioJava incluyen rcsb-sequenceviewer, biojava-http, biojava-spark y rcsb-viewers.
Características
BioJava proporciona módulos de software para muchas de las tareas típicas de la programación bioinformática. Éstas incluyen:
- Acceso a datos de secuencias de nucleótidos y péptidos de bases de datos locales y remotas
- Transformar formatos de bases de datos / registros de archivos
- Análisis y manipulación de la estructura de proteínas
- Manipular secuencias individuales
- Buscando secuencias similares
- Crear y manipular alineaciones de secuencia
Historia y publicaciones
El proyecto BioJava surgió del trabajo de Thomas Down y Matthew Pocock para crear una API para simplificar el desarrollo de herramientas bioinformáticas basadas en Java. BioJava es un proyecto de código abierto activo que ha sido desarrollado durante más de 12 años y por más de 60 desarrolladores. BioJava es uno de varios proyectos Bio * diseñados para reducir la duplicación de códigos. [5] Ejemplos de proyectos de este tipo que se incluyen en Bio * además de BioJava son BioPython , [6] BioPerl , [7] BioRuby , [8] EMBOSS [9], etc.
En octubre de 2012, se publicó el primer artículo sobre BioJava. [10] Este documento detalla los módulos, las funcionalidades y el propósito de BioJava.
En noviembre de 2018, Google Scholar cuenta con más de 130 citas. [11]
El artículo más reciente sobre BioJava se escribió en febrero de 2017. [12] Este artículo detallaba una nueva herramienta llamada BioJava-ModFinder. Esta herramienta se puede utilizar para la identificación y posterior mapeo de modificaciones de proteínas a 3D en el Protein Data Bank ( PBD ). El paquete también se integró con la aplicación web RCSB PDB y se agregaron anotaciones de modificación de proteínas al diagrama de secuencia y la visualización de la estructura. Se identificaron más de 30.000 estructuras con modificaciones de proteínas mediante el uso de BioJava-ModFinder y se pueden encontrar en el sitio web de RCSB PDB.
En el año 2008, se publicó la primera nota de aplicación de BioJava. [2] Se migró de su repositorio CVS original al centro de Git en abril de 2013. [13] El proyecto se movió a un repositorio separado, BioJava-legacy, y aún se mantiene para cambios menores y correcciones de errores. [14]
La versión 3 se lanzó en diciembre de 2010. Fue una actualización importante de las versiones anteriores. El objetivo de esta versión era reescribir BioJava para que pudiera modularizarse en componentes pequeños y reutilizables. Esto permitió a los desarrolladores contribuir más fácilmente y reducir las dependencias. El nuevo enfoque visto en BioJava 3 se inspiró en Apache Commons .
La versión 4 fue lanzada en enero de 2015. Esta versión trajo muchas características nuevas y mejoras a los paquetes biojava-core, biojava-structure, biojava-structure-gui, biojava-phylo, entre otros. BioJava 4.2.0 fue la primera versión disponible con Maven de Maven Central.
La versión 5 se lanzó en marzo de 2018. Esto representa un hito importante para el proyecto. BioJava 5.0.0 es el primer lanzamiento basado en Java 8 que introduce el uso de funciones lambda y llamadas de API de transmisión. También hubo cambios importantes en el módulo de estructura de biojava. Además, los modelos de datos anteriores para estructuras macromoleculares se han adaptado para representar más de cerca el modelo de datos mmCIF . Este fue el primer lanzamiento en más de dos años. Algunas de las otras mejoras incluyen optimizaciones en el módulo de estructura de biojava para mejorar la detección de simetría y soporte adicional para formatos MMTF. Otras mejoras generales incluyen actualizaciones de Javadoc, versiones de dependencia y todas las pruebas ahora son Junit4. El comunicado contiene 1,170 confirmaciones de 19 colaboradores.
Módulos
Durante 2014-2015, se reescribieron gran parte del código base original. BioJava 3 es una clara desviación de la serie de la versión 1. Ahora consta de varios módulos independientes construidos utilizando una herramienta de automatización llamada Apache Maven . [15] Estos módulos proporcionan herramientas de vanguardia para la comparación de estructuras de proteínas, alineamientos de secuencias múltiples y por pares, trabajo con secuencias de ADN y proteínas, análisis de propiedades de aminoácidos, detección de modificaciones de proteínas, predicción de regiones desordenadas en proteínas y analizadores sintácticos. para formatos de archivo comunes utilizando un modelo de datos biológicamente significativo. El código original se ha movido a un proyecto heredado de BioJava separado, que todavía está disponible para compatibilidad con versiones anteriores. [dieciséis]
BioJava 5 introdujo nuevas características en dos módulos, biojava-alineación y biojava-estructura.
Las siguientes secciones describirán varios de los nuevos módulos y destacarán algunas de las nuevas características que se incluyen en la última versión de BioJava.
Módulo principal
Este módulo proporciona clases de Java para modelar secuencias de aminoácidos o nucleótidos . Las clases se diseñaron para que los nombres sean familiares y tengan sentido para los biólogos y también proporcionen una representación concreta de los pasos para pasar de una secuencia de genes a una secuencia de proteínas para los informáticos y programadores.
Un cambio importante entre el proyecto heredado de BioJava y BioJava3 radica en la forma en que se ha diseñado el marco para aprovechar las nuevas innovaciones en Java. Una secuencia se define como una interfaz genérica que permite al resto de los módulos crear cualquier utilidad que opere en todas las secuencias. Se han definido clases específicas para secuencias comunes como el ADN y las proteínas con el fin de mejorar la usabilidad para los biólogos. El motor de traducción realmente aprovecha este trabajo al permitir conversiones entre secuencias de ADN, ARN y aminoácidos. Este motor puede manejar detalles como elegir la tabla de codones, convertir los codones de inicio en metionina, recortar los codones de terminación, especificar el marco de lectura y administrar secuencias ambiguas.
Se ha prestado especial atención al diseño del almacenamiento de secuencias para minimizar las necesidades de espacio. Los patrones de diseño especiales, como el patrón Proxy, permitieron a los desarrolladores crear el marco de modo que las secuencias se puedan almacenar en la memoria, obtener a pedido de un servicio web como UniProt o leer desde un archivo FASTA según sea necesario. Los dos últimos enfoques ahorran memoria al no cargar datos de secuencia hasta que se hace referencia a ellos en la aplicación. Este concepto se puede ampliar para manejar conjuntos de datos genómicos muy grandes, como NCBI GenBank o una base de datos patentada.
Módulos de estructura de proteínas
Los módulos de estructura de proteínas proporcionan herramientas para representar y manipular estructuras biomoleculares 3D. Se centran en la comparación de la estructura de las proteínas.
Los siguientes algoritmos se han implementado e incluido en BioJava.
- Algoritmo FATCAT para alineación de cuerpos rígidos y flexibles. [17]
- El algoritmo estándar de extensión combinatoria (CE). [18]
- Una nueva versión de CE que puede detectar permutaciones circulares en proteínas. [19]
Estos algoritmos se utilizan para proporcionar la herramienta de comparación de proteínas RCSB Protein Data Bank (PDB) [20] , así como comparaciones sistemáticas de todas las proteínas en la PDB semanalmente. [21]
Los analizadores para formatos de archivo PDB [22] y mmCIF [23] permiten la carga de datos de estructura en un modelo de datos reutilizable. Esta característica es utilizada por el proyecto SIFTS para mapear entre secuencias UniProt y estructuras PDB. [24] La información de RCSB PDB se puede obtener dinámicamente sin la necesidad de descargar datos manualmente. Para la visualización, se proporciona una interfaz para el visor 3D Jmol. [4]
Módulos de secuenciación y genoma
Este módulo se centra en la creación de objetos de secuencia genética a partir del módulo principal. Esto se logra al admitir el análisis de los siguientes formatos de archivo estándar populares generados por aplicaciones de predicción de genes de código abierto:
- Archivos GTF generados por GeneMark [25]
- Archivos GFF2 generados por GeneID [26]
- Archivos GFF3 generados por Glimmer [27]
Luego, los objetos de la secuencia de genes se escriben en formato GFF3 y se importan a GMOD. [28] Estos formatos de archivo están bien definidos, pero lo que se escribe en el archivo es muy flexible.
Para proporcionar soporte de entrada-salida para varias variantes comunes del formato de archivo FASTQ de los secuenciadores de próxima generación, [29] se proporciona un módulo de secuenciación por separado. Para obtener ejemplos sobre cómo utilizar este módulo, vaya a este enlace .
Módulo de alineación
Este módulo contiene varias clases y métodos que permiten a los usuarios realizar alineaciones de secuencia múltiple y por pares. Las secuencias se pueden alinear tanto de una manera de un solo subproceso como de múltiples subprocesos. BioJava implementa el algoritmo Needleman-Wunsch [30] para alineamientos globales óptimos y el algoritmo de Smith y Waterman [31] para alineamientos locales. Las salidas de alineaciones tanto locales como globales están disponibles en formatos estándar. Además de estos dos algoritmos, existe una implementación del algoritmo Guan-Uberbacher [32] que realiza la alineación de secuencia global de manera muy eficiente ya que solo usa memoria lineal.
Para la alineación de múltiples secuencias , cualquiera de los métodos discutidos anteriormente se puede utilizar para realizar progresivamente una alineación de múltiples secuencias.
Módulo ModFinder
El módulo ModFinder proporciona nuevos métodos para identificar y clasificar modificaciones de proteínas en estructuras de proteínas 3D. Se recopilaron y curaron más de 400 tipos diferentes de modificaciones de proteínas como fosforilación , glicosilación , quelación de metales con enlaces disulfuro , etc. basándose en anotaciones en PSI-MOD, [34] RESID [35] y RCSB PDB. [36] El módulo también proporciona una API para detectar modificaciones proteicas pre, co y postraduccionales dentro de las estructuras proteicas. Este módulo también puede identificar la fosforilación e imprimir todas las modificaciones precargadas de una estructura.
Módulo de propiedades de aminoácidos
Este módulo intenta proporcionar propiedades fisicoquímicas precisas de las proteínas. Las propiedades que se pueden calcular utilizando este módulo son las siguientes:
- Masa molecular
- Coeficiente de extinción
- Índice de inestabilidad
- Índice alifático
- Gran promedio de hidropatía
- Punto isoeléctrico
- Composición de aminoácidos
En este módulo se incluyen los pesos moleculares precisos de los aminoácidos marcados isotópicamente comunes. También existe flexibilidad para definir nuevas moléculas de aminoácidos con sus pesos moleculares utilizando archivos de configuración XML simples . Esto puede ser útil cuando la masa precisa es de gran importancia, como los experimentos de espectrometría de masas .
Módulo de trastorno de proteínas
El objetivo de este módulo es proporcionar a los usuarios formas de encontrar trastornos en las moléculas de proteínas. BioJava incluye una implementación Java del predictor RONN . BioJava 3.0.5 hace uso del soporte de Java para subprocesos múltiples para mejorar el rendimiento hasta 3.2 veces, [37] en una máquina moderna de cuatro núcleos, en comparación con la implementación de C heredada.
Hay dos formas de utilizar este módulo:
- Usar llamadas a funciones de biblioteca
- Usando línea de comando
Algunas características de este módulo incluyen:
- Calcular la probabilidad de desorden para cada residuo en una secuencia
- Calcular la probabilidad de desorden para cada residuo en la secuencia para todas las proteínas de un archivo de entrada FASTA
- Obtenga las regiones desordenadas de la proteína para una sola secuencia de proteínas o para todas las proteínas de un archivo de entrada FASTA
Módulo de acceso a servicios web
De acuerdo con las tendencias actuales en bioinformática, las herramientas basadas en web están ganando popularidad. El módulo de servicios web permite acceder a los servicios de bioinformática mediante protocolos REST . Actualmente, se implementan dos servicios: NCBI Blast a través del Blast URLAPI (anteriormente conocido como QBlast) y el servicio web HMMER. [38]
Comparaciones con otras alternativas
Varios grupos e individuos han abordado la necesidad de software personalizado en el campo de la bioinformática . Al igual que BioJava, los proyectos de software de código abierto como BioPerl , BioPython y BioRuby proporcionan kits de herramientas con múltiples funciones que facilitan la creación de procesos o análisis personalizados.
Como sugieren los nombres, los proyectos mencionados anteriormente utilizan diferentes lenguajes de programación. Todas estas API ofrecen herramientas similares, entonces, ¿en qué criterios se debe basar su elección? Para los programadores que tienen experiencia en solo uno de estos lenguajes, la elección es sencilla. Sin embargo, para un bioinformático completo que conozca todos estos idiomas y quiera elegir el mejor idioma para un trabajo, la elección se puede hacer en base a las siguientes pautas dadas por una revisión de software realizada en los kits de herramientas de Bio *. [5]
En general, para programas pequeños (<500 líneas) que serán utilizados solo por un individuo o un grupo pequeño, es difícil superar a Perl y BioPerl . Estas limitaciones probablemente cubren las necesidades del 90 por ciento de la programación bioinformática personal.
Para los principiantes, y para escribir programas más grandes en el dominio Bio, especialmente aquellos para ser compartidos y apoyados por otros, la claridad y brevedad de Python lo hacen muy atractivo.
Para aquellos que puedan estar inclinándose hacia una carrera en bioinformática y que quieran aprender solo un idioma, Java tiene el soporte de programación general más amplio, muy buen soporte en el dominio Bio con BioJava, y ahora es el lenguaje de facto de los negocios (el nuevo COBOL, para bien o para mal).
Aparte de estos proyectos Bio *, hay otro proyecto llamado STRAP que utiliza Java y tiene como objetivo objetivos similares. La caja de herramientas STRAP, similar a BioJava, también es un juego de herramientas Java para el diseño de programas y scripts de bioinformática. Las similitudes y diferencias entre BioJava y STRAP son las siguientes:
Similitudes
- Ambos proporcionan colecciones completas de métodos para secuencias de proteínas.
- Los programadores de Java utilizan ambos para codificar algoritmos bioinformáticos.
- Ambas implementaciones y definiciones separadas mediante el uso de interfaces Java.
- Ambos son proyectos de código abierto.
- Ambos pueden leer y escribir muchos formatos de archivo de secuencia.
Diferencias
- BioJava es aplicable a secuencias de nucleótidos y péptidos y se puede aplicar a genomas completos. STRAP no puede hacer frente a secuencias únicas tan largas como un cromosoma completo. En su lugar, STRAP manipula secuencias de péptidos y estructuras 3D del tamaño de proteínas individuales. Sin embargo, puede contener un gran número de secuencias y estructuras en la memoria. STRAP está diseñado para secuencias de proteínas, pero puede leer archivos de nucleótidos codificantes, que luego se traducen a secuencias de péptidos.
- STRAP es muy rápido ya que la interfaz gráfica de usuario debe tener una gran capacidad de respuesta. BioJava se usa donde la velocidad es menos crítica.
- BioJava está bien diseñado en términos de seguridad de tipos, ontología y diseño de objetos. BioJava usa objetos para secuencias, anotaciones y posiciones de secuencia. Incluso los aminoácidos o nucleótidos individuales son referencias objetivas. Para mejorar la velocidad, STRAP evita la creación de instancias de objetos frecuentes y la invocación de métodos de objeto no finales.
- En BioJava, las secuencias de péptidos y las secuencias de nucleótidos son listas de símbolos. Los símbolos se pueden recuperar uno tras otro con un iterador o se pueden obtener subsecuencias. Las ventajas son que la secuencia completa no reside necesariamente en la memoria y que los programas son menos susceptibles a errores de programación. Los objetos de símbolo son elementos inmutables de un alfabeto. En STRAP, sin embargo, se utilizan matrices de bytes simples para secuencias y matrices flotantes para coordenadas. Además de la velocidad, el bajo consumo de memoria es una ventaja importante de los tipos de datos básicos. Las clases en Strap exponen datos internos. Por lo tanto, los programadores pueden cometer errores de programación como manipular matrices de bytes directamente en lugar de utilizar los métodos de establecimiento. Otra desventaja es que no se realizan comprobaciones en STRAP si los caracteres de las secuencias son válidos con respecto a un alfabeto subyacente.
- En BioJava, las posiciones de secuencia se realizan mediante la clase Location . Los objetos Location no contiguos se componen de varios objetos RangeLocation u objetos PointLocation contiguos . Sin embargo, para la clase StrapProtein , las posiciones de un solo residuo se indican mediante números enteros entre 0 y countResidues () - 1 . Varias posiciones vienen dadas por matrices booleanas. Verdadero en un índice dado significa seleccionado, mientras que falso significa no seleccionado.
- BioJava lanza excepciones cuando se invocan métodos con parámetros no válidos. STRAP evita la laboriosa creación de objetos Throwable. En cambio, los errores en los métodos se indican mediante los valores de retorno NaN, -1 o nulo. Sin embargo, desde el punto de vista del diseño del programa, los objetos Throwable son más agradables.
- En BioJava, un objeto Sequence es una secuencia de péptidos o una secuencia de nucleótidos. Un StrapProtein puede contener ambos al mismo tiempo si una secuencia de nucleótidos codificante se leyó y se tradujo en proteína. Tanto la secuencia de nucleótidos como la secuencia de péptidos están contenidas en el mismo objeto StrapProtein. Las regiones codificantes o no codificantes se pueden cambiar y la secuencia del péptido se altera en consecuencia.
Proyectos que utilizan BioJava
Los siguientes proyectos utilizan BioJava.
- Generador de vías metabólicas: paquete de software dedicado a la exploración de conexiones entre genes, proteínas, reacciones y vías metabólicas
- DengueInfo: un portal de información sobre el genoma del dengue que utiliza BioJava en el middleware y se comunica con una base de datos biosql.
- Dazzle: un servidor DAS basado en BioJava.
- BioSense: un complemento para InforSense Suite, una plataforma de software de análisis de IDBS que unifica BioJava.
- Bioclipse: un banco de trabajo gratuito y de código abierto para quimio y bioinformática con potentes capacidades de edición y visualización de moléculas, secuencias, proteínas, espectros, etc.
- PREGUNTA: Un marco y una aplicación de código abierto y gratuito para la comparación y mapeo de conjuntos de proteínas Utiliza BioJava para manejar la mayoría de los formatos de datos de entrada.
- Cytoscape: una plataforma de software de bioinformática de código abierto para visualizar redes de interacción molecular.
- BioWeka: una aplicación de minería de datos biológicos de código abierto.
- Geneious: un conjunto de herramientas de biología molecular.
- MassSieve: una aplicación de código abierto para analizar datos de proteómica de espectrometría de masas.
- Correa: una herramienta para la alineación de múltiples secuencias y la alineación de estructuras basada en secuencias.
- Jstacs: un marco de Java para el análisis estadístico y la clasificación de secuencias biológicas
- jLSTM "Memoria a corto plazo" para la clasificación de proteínas
- LaJolla Alineación estructural de ARN y proteínas utilizando una estructura de índice para una alineación rápida de miles de estructuras. Incluye una interfaz de línea de comandos fácil de usar. Código abierto en Sourceforge.
- GenBeans: una plataforma de cliente enriquecida para bioinformática centrada principalmente en biología molecular y análisis de secuencias.
- JEnsembl: una API de Java con reconocimiento de versiones para sistemas de datos Ensembl. [39]
- MUSI: un sistema integrado para identificar especificidad múltiple a partir de conjuntos de datos de péptidos o ácidos nucleicos muy grandes. [40]
- Bioshell: una biblioteca de utilidad para bioinformática estructural [41]
Ver también
- Fundación Abierta de Bioinformática
- BioPerl , Biopython , BioRuby
- Bioclipse
- Comparación de software para modelado de mecánica molecular
Referencias
- ^ Prlić A, Yates A, Bliven SE, et al. (Octubre 2012). "BioJava: un marco de código abierto para la bioinformática en 2012" . Bioinformática . 28 (20): 2693–5. doi : 10.1093 / bioinformatics / bts494 . PMC 3467744 . PMID 22877863 .
- ^ a b Holland RC, Down TA, Pocock M, Prlić A, Huen D, James K, et al. (2008). "BioJava: un marco de código abierto para la bioinformática" . Bioinformática . 24 (18): 2096–7. doi : 10.1093 / bioinformatics / btn397 . PMC 2530884 . PMID 18689808 .
- ^ VS Matha y P Kangueane, 2009, Bioinformática: una introducción basada en conceptos , 2009. p26
- ^ a b c Hanson, RM (2010) Jmol un cambio de paradigma en la visualización cristalográfica.
- ^ a b Mangalam H (2002). "Los kits de herramientas de Bio * - una breve descripción" . Sesiones informativas en bioinformática . 3 (3): 296-302. doi : 10.1093 / bib / 3.3.296 . PMID 12230038 .
- ^ Cock PJ, Antao T, Chang JT, et al. (Junio de 2009). "Biopython: herramientas de Python disponibles gratuitamente para biología molecular computacional y bioinformática" . Bioinformática . 25 (11): 1422–3. doi : 10.1093 / bioinformatics / btp163 . PMC 2682512 . PMID 19304878 .
- ^ Stajich JE, Block D, Boulez K, et al. (Octubre de 2002). "El kit de herramientas de Bioperl: módulos de Perl para las ciencias de la vida" . Genome Res . 12 (10): 1611–8. doi : 10.1101 / gr.361602 . PMC 187536 . PMID 12368254 .
- ^ Goto N, Prins P, Nakao M, Bonnal R, Aerts J, Katayama T (octubre de 2010). "BioRuby: software bioinformático para el lenguaje de programación Ruby" . Bioinformática . 26 (20): 2617–9. doi : 10.1093 / bioinformatics / btq475 . PMC 2951089 . PMID 20739307 .
- ^ Rice P, Longden I, Bleasby A (junio de 2000). "EMBOSS: la suite europea de software abierto de biología molecular". Trends Genet . 16 (6): 276–7. doi : 10.1016 / S0168-9525 (00) 02024-2 . PMID 10827456 .
- ^ Prlić A, Yates A, Bliven SE, et al. (Octubre 2012). "BioJava: un marco de código abierto para la bioinformática en 2012" . Bioinformática . 28 (20): 2693–5. doi : 10.1093 / bioinformatics / bts494 . PMC 3467744 . PMID 22877863 .
- ^ "Google Académico" . scholar.google.com . Consultado el 22 de noviembre de 2018 .
- ^ Gao, Jianjiong; Prlić, Andreas; Bi, Chunxiao; Bluhm, Wolfgang F .; Dimitropoulos, Dimitris; Xu, Dong; Bourne, Philip E .; Rose, Peter W. (17 de febrero de 2017). "BioJava-ModFinder: identificación de modificaciones de proteínas en estructuras 3D del Protein Data Bank" . Bioinformática . 33 (13): 2047-2049. doi : 10.1093 / bioinformatics / btx101 . ISSN 1367-4803 . PMC 5870676 . PMID 28334105 .
- ^ "Historia" . Consultado el 30 de enero de 2015 .
- ^ BioJava-legacy Archivado el 9 de enero de 2013 en la Wayback Machine.
- ^ Maven, Apache. "Maven" . Apache.
- ^ Proyecto heredado de BioJava Archivado el 9 de enero de 2013 en la Wayback Machine.
- ^ a b Ye Y, Godzik A (octubre de 2003). "Alineación de estructura flexible encadenando pares de fragmentos alineados que permiten giros" . Bioinformática . 19 (Suppl 2): ii246–55. doi : 10.1093 / bioinformatics / btg1086 . PMID 14534198 .
- ^ Shindyalov IN, Bourne PE (septiembre de 1998). "Alineación de la estructura de la proteína por extensión combinatoria incremental (CE) de la ruta óptima" . Protein Eng . 11 (9): 739–47. doi : 10.1093 / proteína / 11.9.739 . PMID 9796821 .
- ^ Bliven S, Prlić A (2012). "Permutación circular en proteínas" . PLoS Comput. Biol . 8 (3): e1002445. doi : 10.1371 / journal.pcbi.1002445 . PMC 3320104 . PMID 22496628 .
- ^ Rose PW, Beran B, Bi C y col. (Enero de 2011). "El banco de datos de proteínas RCSB: sitio web rediseñado y servicios web" . Ácidos nucleicos Res . 39 (Problema de la base de datos): D392–401. doi : 10.1093 / nar / gkq1021 . PMC 3013649 . PMID 21036868 .
- ^ Prlić A, Bliven S, Rose PW, et al. (Diciembre de 2010). "Alineaciones de estructura de proteínas precalculadas en el sitio web de RCSB PDB" . Bioinformática . 26 (23): 2983–5. doi : 10.1093 / bioinformatics / btq572 . PMC 3003546 . PMID 20937596 .
- ^ Bernstein FC, Koetzle TF, Williams GJ y col. (Mayo de 1977). "El banco de datos de proteínas: un archivo informático para estructuras macromoleculares". J. Mol. Biol . 112 (3): 535–42. doi : 10.1016 / s0022-2836 (77) 80200-3 . PMID 875032 .
- ^ Fitzgerald, PMD y col. (2006) Diccionario macromolecular (mmCIF). En Hall, SR
- ^ Velankar S, McNeil P, Mittard-Runte V, et al. (Enero de 2005). "E-MSD: un recurso de datos integrado para bioinformática" . Ácidos nucleicos Res . 33 (Problema de la base de datos): D262–5. doi : 10.1093 / nar / gki058 . PMC 540012 . PMID 15608192 .
- ^ Besemer J, Borodovsky M (julio de 2005). "GeneMark: software web para la búsqueda de genes en procariotas, eucariotas y virus" . Ácidos nucleicos Res . 33 (Problema del servidor web): W451–4. doi : 10.1093 / nar / gki487 . PMC 1160247 . PMID 15980510 .
- ^ Blanco E, Abril JF (2009). Anotación computacional de genes en nuevos ensamblajes genómicos usando GeneID . Methods Mol. Biol . Métodos en Biología Molecular. 537 . págs. 243–61. doi : 10.1007 / 978-1-59745-251-9_12 . ISBN 978-1-58829-910-9. PMID 19378148 .
- ^ Kelley DR, Liu B, Delcher AL, Pop M, Salzberg SL (enero de 2012). "Predicción de genes con Glimmer para secuencias metagenómicas aumentadas por clasificación y agrupamiento" . Ácidos nucleicos Res . 40 (1): e9. doi : 10.1093 / nar / gkr1067 . PMC 3245904 . PMID 22102569 .
- ^ Stein LD, Mungall C, Shu S y col. (Octubre de 2002). "El navegador del genoma genérico: un bloque de construcción para una base de datos del sistema del organismo modelo" . Genome Res . 12 (10): 1599–610. doi : 10.1101 / gr.403602 . PMC 187535 . PMID 12368253 .
- ^ Cock PJ, Fields CJ, Goto N, Heuer ML, Rice PM (abril de 2010). "El formato de archivo Sanger FASTQ para secuencias con puntajes de calidad y las variantes Solexa / Illumina FASTQ" . Ácidos nucleicos Res . 38 (6): 1767–71. doi : 10.1093 / nar / gkp1137 . PMC 2847217 . PMID 20015970 .
- ^ Needleman SB, Wunsch CD (marzo de 1970). "Un método general aplicable a la búsqueda de similitudes en la secuencia de aminoácidos de dos proteínas". J. Mol. Biol . 48 (3): 443–53. doi : 10.1016 / 0022-2836 (70) 90057-4 . PMID 5420325 .
- ^ Smith TF, Waterman MS (marzo de 1981). "Identificación de subsecuencias moleculares comunes". J. Mol. Biol . 147 (1): 195–7. CiteSeerX 10.1.1.63.2897 . doi : 10.1016 / 0022-2836 (81) 90087-5 . PMID 7265238 .
- ^ Guan X, Uberbacher EC (febrero de 1996). "Alineaciones de secuencias de ADN y proteínas que contienen errores de cambio de marco" . Computación. Apl. Biosci . 12 (1): 31–40. doi : 10.1093 / bioinformatics / 12.1.31 . PMID 8670617 .
- ^ Chen K, Jung YS, Bonagura CA, et al. (Febrero de 2002). "Azotobacter vinelandii ferredoxin I: un enfoque de comparación de secuencia y estructura para la alteración del potencial de reducción [4Fe-4S] 2 + / +" . J. Biol. Chem . 277 (7): 5603–10. doi : 10.1074 / jbc.M108916200 . PMID 11704670 .
- ^ Montecchi-Palazzi L, Beavis R, Binz PA, et al. (Agosto de 2008). "El estándar de la comunidad PSI-MOD para la representación de datos de modificación de proteínas". Nat. Biotechnol . 26 (8): 864–6. doi : 10.1038 / nbt0808-864 . PMID 18688235 .
- ^ Garavelli JS (junio de 2004). "La Base de Datos RESID de Modificaciones de Proteínas como recurso y herramienta de anotación". Proteómica . 4 (6): 1527–33. doi : 10.1002 / pmic.200300777 . PMID 15174122 .
- ^ Berman HM, Westbrook J, Feng Z y col. (Enero de 2000). "El banco de datos de proteínas" . Ácidos nucleicos Res . 28 (1): 235–42. doi : 10.1093 / nar / 28.1.235 . PMC 102472 . PMID 10592235 .
- ^ Yang ZR, Thomson R, McNeil P, Esnouf RM (agosto de 2005). "RONN: la técnica de red neuronal de función de base biológica aplicada a la detección de regiones desordenadas de forma nativa en proteínas" . Bioinformática . 21 (16): 3369–76. doi : 10.1093 / bioinformatics / bti534 . PMID 15947016 .
- ^ Finn RD, Clements J, Eddy SR (julio de 2011). "Servidor web HMMER: búsqueda interactiva de similitudes de secuencias" . Ácidos nucleicos Res . 39 (Problema del servidor web): W29–37. doi : 10.1093 / nar / gkr367 . PMC 3125773 . PMID 21593126 .
- ^ Paterson T, Law A (noviembre de 2012). "JEnsembl: una API de Java con reconocimiento de versiones para sistemas de datos Ensembl" . Bioinformática . 28 (21): 2724–31. doi : 10.1093 / bioinformatics / bts525 . PMC 3476335 . PMID 22945789 .
- ^ Kim T, Tyndel MS, Huang H y col. (Marzo de 2012). "MUSI: un sistema integrado para identificar especificidad múltiple a partir de conjuntos de datos de péptidos o ácidos nucleicos muy grandes" . Ácidos nucleicos Res . 40 (6): e47. doi : 10.1093 / nar / gkr1294 . PMC 3315295 . PMID 22210894 .
- ^ Gront D, Kolinski A (febrero de 2008). "Biblioteca de utilidad para bioinformática estructural" . Bioinformática . 24 (4): 584–5. doi : 10.1093 / bioinformatics / btm627 . PMID 18227118 .
enlaces externos
- Página web oficial