stringtranslate.com

BioJava

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 variedad de datos, desde secuencias de ADN y proteínas hasta el nivel de estructuras de proteínas 3D. Las bibliotecas BioJava son útiles para automatizar muchas tareas bioinformáticas diarias y mundanas , como analizar un archivo Protein Data Bank (PDB), interactuar con Jmol y mucho 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 el desarrollo y análisis rápido de aplicaciones.

Los proyectos adicionales de BioJava incluyen rcsb-sequenceviewer, biojava-http, biojava-spark y rcsb-viewers.

Características

BioJava ofrece módulos de software para muchas de las tareas típicas de la programación bioinformática, entre las que se incluyen:

Historia y publicaciones

El proyecto BioJava surgió del trabajo de Thomas Down y Matthew Pocock para crear una API que simplifique el desarrollo de herramientas bioinformáticas basadas en Java. BioJava es un proyecto de código abierto activo que se ha desarrollado durante más de 12 años y por más de 60 desarrolladores. BioJava es uno de los numerosos proyectos Bio* diseñados para reducir la duplicación de código. [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 artículo detallaba los módulos, las funcionalidades y el propósito de BioJava.

A partir de noviembre de 2018, Google Scholar contabiliza 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 el posterior mapeo de modificaciones de proteínas en 3D en el Protein Data Bank ( PBD ). El paquete también se integró con la aplicación web RCSB PDB y agregó 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 BioJava-ModFinder y se pueden encontrar en el sitio web RCSB PDB.

En el año 2008, se publicó la primera nota de aplicación de BioJava. [2] Se migró desde su repositorio CVS original a GitHub en abril de 2013. [13] El proyecto se ha trasladado 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 con mayor facilidad y redujo las dependencias. El nuevo enfoque que se vio en BioJava 3 se basó en Apache Commons .

La versión 4 se lanzó en enero de 2015. Esta versión trajo consigo muchas nuevas características y mejoras a los paquetes biojava-core, biojava-structure, biojava-structure-gui, biojava-phylo y otros. BioJava 4.2.0 fue la primera versión que estuvo disponible usando Maven desde Maven Central.

La versión 5 se lanzó en marzo de 2018, lo que representa un hito importante para el proyecto. BioJava 5.0.0 es la primera versión basada en Java 8, que introduce el uso de funciones lambda y llamadas API de transmisión. También hubo cambios importantes en el módulo biojava-structure. Además, los modelos de datos anteriores para estructuras macromoleculares se adaptaron para representar de manera más precisa el modelo de datos mmCIF . Esta fue la primera versión en más de dos años. Algunas de las otras mejoras incluyen optimizaciones en el módulo biojava-structure 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. La versión contiene 1170 confirmaciones de 19 colaboradores.

Módulos

Durante 2014-2015, se reescribieron grandes partes del código base original. BioJava 3 es un claro cambio con respecto a la serie de versiones 1. Ahora consta de varios módulos independientes creados utilizando una herramienta de automatización llamada Apache Maven . [15] Estos módulos proporcionan herramientas de última generación para la comparación de la estructura de proteínas, alineaciones 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 para formatos de archivo comunes utilizando un modelo de datos biológicamente significativo. El código original se ha trasladado a un proyecto heredado de BioJava independiente, que todavía está disponible para compatibilidad con versiones anteriores. [16]

BioJava 5 introdujo nuevas características en dos módulos, biojava-alignment y biojava-structure.

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 central

Este módulo proporciona clases Java para modelar secuencias de aminoácidos o nucleótidos . Las clases se diseñaron de modo que los nombres resulten familiares y tengan sentido para los biólogos y también proporcionen una representación concreta de los pasos necesarios para pasar de una secuencia genética a una secuencia proteica para los informáticos y los programadores.

Un cambio importante entre el proyecto BioJava heredado y BioJava3 radica en la forma en que se ha diseñado el marco para explotar las innovaciones de Java que surgieron en ese momento. Una secuencia se define como una interfaz genérica que permite que el resto de los módulos creen cualquier utilidad que funcione en todas las secuencias. Se han definido clases específicas para secuencias comunes, como ADN y 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 la elección de la tabla de codones, la conversión de codones de inicio a metionina, el recorte de codones de parada, la especificación del marco de lectura y el manejo de secuencias ambiguas.

Se ha prestado especial atención al diseño del almacenamiento de secuencias para minimizar las necesidades de espacio. Patrones de diseño especiales como el patrón Proxy permitieron a los desarrolladores crear el marco de manera 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 los 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 propietaria.

Módulos de estructura de proteínas

Esta ventana muestra dos proteínas con los identificadores "4hhb.A" y "4hhb.B" alineadas entre sí. El código se muestra en el lado izquierdo. Esto se produce utilizando bibliotecas BioJava que, a su vez, utilizan el visor Jmol. [4] Aquí se utiliza el algoritmo rígido FATCAT [17] para realizar la alineación.

Los módulos de estructura de proteínas proporcionan herramientas para representar y manipular estructuras biomoleculares en 3D. Se centran en la comparación de estructuras de proteínas.

Los siguientes algoritmos se han implementado e incluido en BioJava.

Estos algoritmos se utilizan para proporcionar la herramienta de comparación de proteínas del banco de datos de proteínas (PDB) [20] del RCSB , así como comparaciones sistemáticas de todas las proteínas del PDB semanalmente. [21]

Los analizadores sintácticos para los formatos de archivo PDB [22] y mmCIF [23] permiten cargar datos de estructura en un modelo de datos reutilizable. El proyecto SIFTS utiliza esta función para realizar mapeos entre secuencias UniProt y estructuras PDB. [24] La información del PDB RCSB se puede obtener de forma dinámica sin necesidad de descargar los datos manualmente. Para la visualización, se proporciona una interfaz con el visor 3D Jmol. [4]

Módulos de Genoma y Secuenciación

Este módulo se centra en la creación de objetos de secuencias genéticas a partir del módulo principal. Esto se logra mediante el análisis de los siguientes formatos de archivo estándar populares generados por aplicaciones de predicción genética de código abierto:

Luego, los objetos de secuencia genética 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 compatibilidad de entrada y 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 independiente. Para obtener ejemplos sobre cómo utilizar este módulo, visite este enlace.

Módulo de alineación

Este módulo contiene varias clases y métodos que permiten a los usuarios realizar alineaciones de secuencias múltiples y por pares. Las secuencias se pueden alinear tanto en modo monohilo como multihilo. BioJava implementa el algoritmo Needleman-Wunsch [30] para alineaciones globales óptimas y el algoritmo Smith y Waterman [31] para alineaciones locales. Los resultados de las alineaciones locales y 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 alineaciones de secuencias globales de manera muy eficiente, ya que solo utiliza memoria lineal.

Para la alineación de secuencias múltiples , se puede utilizar cualquiera de los métodos analizados anteriormente para realizar progresivamente una alineación de secuencias múltiples.

Módulo ModFinder

Una aplicación de ejemplo que utiliza el módulo ModFinder y el módulo de estructura de proteínas. Las modificaciones de proteínas se asignan a la secuencia y la estructura de la ferredoxina I (PDB ID 1GAO). [33] Se muestran dos posibles grupos de hierro-azufre en la secuencia de proteínas (3Fe–4S (F3S): triángulos/líneas naranjas; 4Fe–4S (SF4): diamantes/líneas violetas). El grupo 4Fe–4S se muestra en la ventana de estructura de Jmol sobre la visualización de secuencias.

El módulo ModFinder proporciona nuevos métodos para identificar y clasificar modificaciones de proteínas en estructuras 3D de proteínas. Se recopilaron y seleccionaron más de 400 tipos diferentes de modificaciones de proteínas, como fosforilación , glicosilación , enlaces disulfuro, quelación de metales , etc., según las anotaciones en PSI-MOD, [34] RESID [35] y RCSB PDB. [36] El módulo también proporciona una API para detectar modificaciones de proteínas pre, co y postraduccionales dentro de las estructuras de proteínas. Este módulo también puede identificar la fosforilación e imprimir todas las modificaciones precargadas de una estructura.

Módulo de propiedades de los aminoácidos

Este módulo intenta proporcionar propiedades fisicoquímicas precisas de las proteínas. Las propiedades que se pueden calcular con este módulo son las siguientes:

En este módulo se incluyen los pesos moleculares precisos de los aminoácidos marcados isotópicamente más comunes. También existe la flexibilidad de definir nuevas moléculas de aminoácidos con sus pesos moleculares mediante archivos de configuración XML simples . Esto puede resultar útil cuando la masa precisa es de gran importancia, como en los experimentos de espectrometría de masas .

Módulo de trastornos de las 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 en Java del predictor RONN. BioJava 3.0.5 hace uso del soporte de Java para subprocesamiento múltiple 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 C heredada.

Hay dos formas de utilizar este módulo:

Algunas características de este módulo incluyen:

Módulo de acceso a servicios web

De acuerdo con las tendencias actuales en bioinformática, las herramientas basadas en la web están ganando popularidad. El módulo de servicio web permite acceder a los servicios de bioinformática mediante protocolos REST . Actualmente, se implementan dos servicios: NCBI Blast a través de 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 contar con software personalizado en el campo de la bioinformática . De manera similar a BioJava, los proyectos de software de código abierto como BioPerl , BioPython y BioRuby ofrecen 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, así que ¿en qué criterios se debe basar la 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 con experiencia que conoce todos estos lenguajes y quiere elegir el mejor lenguaje para un trabajo, la elección se puede hacer en función de las siguientes pautas proporcionadas por una revisión de software realizada en los kits de herramientas Bio*. [5]

En general, para programas pequeños (<500 líneas) que serán utilizados únicamente por un individuo o un grupo pequeño, es difícil superar a Perl y BioPerl . Estas limitaciones probablemente cubran las necesidades del 90 por ciento de la programación bioinformática personal.

Para principiantes y para escribir programas más grandes en el dominio biológico, especialmente aquellos que serán compartidos y respaldados por otros, la claridad y brevedad de Python lo hacen muy atractivo.

Para aquellos que se estén inclinando por una carrera en bioinformática y quieran aprender un solo lenguaje, Java tiene el soporte de programación general más amplio, muy buen soporte en el dominio biológico con BioJava, y ahora es el lenguaje de facto de los negocios (el nuevo COBOL, para bien o para mal).

Además de estos proyectos Bio*, existe otro proyecto llamado STRAP que utiliza Java y tiene objetivos similares. La caja de herramientas STRAP, similar a BioJava, también es un conjunto 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

Diferencias

Proyectos que utilizan BioJava

Los siguientes proyectos utilizan BioJava.

Véase también

Referencias

  1. ^ Prlić A, Yates A, Bliven SE, et al. (octubre de 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.
  2. ^ ab 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. 
  3. ^ VS Matha y P Kangueane, 2009, Bioinformática: una introducción basada en conceptos , 2009. p26
  4. ^ abc Hanson, RM (2010) Jmol un cambio de paradigma en la visualización cristalográfica.
  5. ^ ab Mangalam H (2002). "Los kits de herramientas Bio*: una breve descripción general". Briefings in Bioinformatics . 3 (3): 296–302. doi : 10.1093/bib/3.3.296 . PMID  12230038.
  6. ^ Cock PJ, Antao T, Chang JT, et al. (junio de 2009). "Biopython: herramientas Python de libre acceso para la biología molecular computacional y la bioinformática". Bioinformática . 25 (11): 1422–3. doi :10.1093/bioinformatics/btp163. PMC 2682512 . PMID  19304878. 
  7. ^ Stajich JE, Block D, Boulez K, et al. (octubre de 2002). "El kit de herramientas Bioperl: módulos Perl para las ciencias de la vida". Genome Res . 12 (10): 1611–8. doi :10.1101/gr.361602. PMC 187536 . PMID  12368254. 
  8. ^ 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. 
  9. ^ Rice P, Longden I, Bleasby A (junio de 2000). "EMBOSS: la suite de software abierto europea para biología molecular". Trends Genet . 16 (6): 276–7. doi :10.1016/S0168-9525(00)02024-2. PMID  10827456.
  10. ^ Prlić A, Yates A, Bliven SE, et al. (octubre de 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. 
  11. ^ "Google Scholar". scholar.google.com . Consultado el 22 de noviembre de 2018 .
  12. ^ 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. 
  13. ^ "Historia" . Consultado el 30 de enero de 2015 .
  14. ^ BioJava-legacy Archivado el 9 de enero de 2013 en Wayback Machine.
  15. ^ Maven, Apache. "Maven". Apache.
  16. ^ Proyecto heredado de BioJava Archivado el 9 de enero de 2013 en Wayback Machine
  17. ^ ab Ye Y, Godzik A (octubre de 2003). "Alineación de estructuras flexibles mediante el encadenamiento de pares de fragmentos alineados que permiten giros". Bioinformática . 19 (Supl 2): ​​ii246–55. doi : 10.1093/bioinformatics/btg1086 . PMID  14534198.
  18. ^ Shindyalov IN, Bourne PE (septiembre de 1998). "Alineación de la estructura de proteínas mediante extensión combinatoria incremental (CE) de la ruta óptima". Protein Eng . 11 (9): 739–47. doi : 10.1093/protein/11.9.739 . PMID  9796821.
  19. ^ Bliven S, Prlić A (2012). "Permutación circular en proteínas". PLOS Comput. Biol . 8 (3): e1002445. Bibcode :2012PLSCB...8E2445B. doi : 10.1371/journal.pcbi.1002445 . PMC 3320104 . PMID  22496628. 
  20. ^ Rose PW, Beran B, Bi C, et al. (enero de 2011). "Banco de datos de proteínas del RCSB: sitio web y servicios web rediseñados". Nucleic Acids Res . 39 (número de la base de datos): D392–401. doi :10.1093/nar/gkq1021. PMC 3013649. PMID  21036868 . 
  21. ^ Prlić A, Bliven S, Rose PW, et al. (diciembre de 2010). "Alineaciones de estructuras proteicas precalculadas en el sitio web de RCSB PDB". Bioinformática . 26 (23): 2983–5. doi :10.1093/bioinformatics/btq572. PMC 3003546 . PMID  20937596. 
  22. ^ Bernstein FC, Koetzle TF, Williams GJ, et al. (mayo de 1977). "The Protein Data Bank: un archivo informático para estructuras macromoleculares". J. Mol. Biol . 112 (3): 535–42. doi :10.1016/s0022-2836(77)80200-3. PMID  875032.
  23. ^ Fitzgerald, PMD et al. (2006) Diccionario macromolecular (mmCIF). En Hall, SR
  24. ^ Velankar S, McNeil P, Mittard-Runte V, et al. (enero de 2005). "E-MSD: un recurso de datos integrado para la bioinformática". Nucleic Acids Res . 33 (número de la base de datos): D262–5. doi :10.1093/nar/gki058. PMC 540012 . PMID  15608192. 
  25. ^ Besemer J, Borodovsky M (julio de 2005). "GeneMark: software web para la búsqueda de genes en procariotas, eucariotas y virus". Nucleic Acids Res . 33 (edición del servidor web): W451–4. doi :10.1093/nar/gki487. PMC 1160247 . PMID  15980510. 
  26. ^ Blanco E, Abril JF (2009). "Anotación computacional de genes en nuevos ensamblajes genómicos utilizando GeneID". Bioinformática para análisis de secuencias de ADN . Métodos en biología molecular. Vol. 537. págs. 243–61. doi :10.1007/978-1-59745-251-9_12. ISBN 978-1-58829-910-9. Número de identificación personal  19378148.
  27. ^ 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". Nucleic Acids Res . 40 (1): e9. doi :10.1093/nar/gkr1067. PMC 3245904 . PMID  22102569. 
  28. ^ Stein LD, Mungall C, Shu S, et al. (octubre de 2002). "El navegador genérico del genoma: un elemento básico para una base de datos del sistema de organismos modelo". Genome Res . 12 (10): 1599–610. doi :10.1101/gr.403602. PMC 187535 . PMID  12368253. 
  29. ^ Cock PJ, Fields CJ, Goto N, Heuer ML, Rice PM (abril de 2010). "El formato de archivo Sanger FASTQ para secuencias con puntuaciones de calidad y las variantes Solexa/Illumina FASTQ". Nucleic Acids Res . 38 (6): 1767–71. doi :10.1093/nar/gkp1137. PMC 2847217 . PMID  20015970. 
  30. ^ 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.
  31. ^ 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. 
  32. ^ Guan X, Uberbacher EC (febrero de 1996). "Alineamientos de secuencias de ADN y proteínas que contienen errores de desplazamiento del marco de lectura". Comput. Appl. Biosci . 12 (1): 31–40. doi : 10.1093/bioinformatics/12.1.31 . PMID  8670617.
  33. ^ Chen K, Jung YS, Bonagura CA, et al. (febrero de 2002). "Azotobacter vinelandii ferredoxina I: un enfoque de comparación de secuencia y estructura para la alteración del potencial de reducción de [4Fe-4S]2+/+". J. Biol. Chem . 277 (7): 5603–10. doi : 10.1074/jbc.M108916200 . PMID  11704670.
  34. ^ 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. S2CID  205270043.
  35. ^ 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. S2CID  25712150.
  36. ^ Berman HM, Westbrook J, Feng Z, et al. (enero de 2000). "El banco de datos de proteínas". Nucleic Acids Res . 28 (1): 235–42. doi :10.1093/nar/28.1.235. PMC 102472 . PMID  10592235. 
  37. ^ Yang ZR, Thomson R, McNeil P, Esnouf RM (agosto de 2005). "RONN: la técnica de red neuronal funcional 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.
  38. ^ Finn RD, Clements J, Eddy SR (julio de 2011). "Servidor web HMMER: búsqueda interactiva de similitud de secuencias". Nucleic Acids Res . 39 (número del servidor web): W29–37. doi :10.1093/nar/gkr367. PMC 3125773 . PMID  21593126. 
  39. ^ Paterson T, Law A (noviembre de 2012). "JEnsembl: una API 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. 
  40. ^ Kim T, Tyndel MS, Huang H, et al. (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". Nucleic Acids Res . 40 (6): e47. doi :10.1093/nar/gkr1294. PMC 3315295 . PMID  22210894. 
  41. ^ 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