De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

BioPerl [1] [2] es una colección de módulos Perl que facilitan el desarrollo de scripts Perl para aplicaciones bioinformáticas . Ha jugado un papel integral en el Proyecto Genoma Humano . [3]

Antecedentes [ editar ]

BioPerl es un proyecto de software de código abierto activo respaldado por la Open Bioinformatics Foundation . El primer conjunto de códigos Perl de BioPerl fue creado por Tim Hubbard y Jong Bhak [ cita requerida ] en el Centro MRC de Cambridge, donde Fred Sanger llevó a cabo la primera secuenciación del genoma.. MRC Center fue uno de los centros y lugares de nacimiento de la bioinformática moderna, ya que tenía una gran cantidad de secuencias de ADN y estructuras de proteínas en 3D. Hubbard estaba usando la biblioteca Perl th_lib.pl, que contenía muchas subrutinas Perl útiles para bioinformática. Bhak, el primer estudiante de doctorado de Hubbard, creó jong_lib.pl. Bhak fusionó las dos bibliotecas de subrutinas de Perl en Bio.pl. El nombre BioPerl fue acuñado conjuntamente por Bhak y Steven Brenner en el Centro de Ingeniería de Proteínas (CPE). En 1995, Brenner organizó una sesión de BioPerl en Intelligent Systems for Molecular Biologyconferencia, celebrada en Cambridge. BioPerl tuvo algunos usuarios en los próximos meses, incluido Georg Fuellen, que organizó un curso de formación en Alemania. Los colegas y estudiantes de Fuellen ampliaron enormemente BioPerl; esto fue ampliado por otros, incluido Steve Chervitz, que estaba desarrollando activamente códigos Perl para su base de datos del genoma de levadura. La mayor expansión se produjo cuando el estudiante de Cambridge Ewan Birney se unió al equipo de desarrollo. [ cita requerida ]

La primera versión estable fue el 11 de junio de 2002; la versión estable más reciente (en términos de API) es la 1.7.2 del 7 de septiembre de 2017. También hay versiones para desarrolladores que se producen periódicamente. La serie de versiones 1.7.x se considera la versión más estable (en términos de errores) de BioPerl y se recomienda para el uso diario.

Para aprovechar BioPerl, el usuario necesita una comprensión básica del lenguaje de programación Perl, incluida la comprensión de cómo utilizar referencias, módulos, objetos y métodos de Perl.

Influencia en el Proyecto Genoma Humano [ editar ]

El Proyecto Genoma Humano enfrentó varios desafíos durante su vida. Algunos de estos problemas se resolvieron cuando muchos de los laboratorios de genómica comenzaron a utilizar Perl. El proceso de analizar todas las secuencias de ADN fue uno de esos problemas. Algunos laboratorios construyeron grandes sistemas monolíticos con bases de datos relacionales complejas que tardaron una eternidad en depurar e implementar, y fueron superadas por las nuevas tecnologías. Otros laboratorios aprendieron a construir sistemas modulares de acoplamiento flexible cuyas partes se podían intercambiar cuando surgían nuevas tecnologías. Muchos de los resultados iniciales de todos los laboratorios fueron mixtos. Finalmente, se descubrió que muchos de los pasos podrían implementarse como programas acoplados libremente que se ejecutaban con un script de shell de Perl. Otro problema que se solucionó fue el intercambio de datos. Cada laboratorio generalmente tenía diferentes programas que ejecutaban con sus scripts,resultando en varias conversiones al comparar los resultados. Para solucionar este problema, los laboratorios comenzaron a utilizar colectivamente un superconjunto de datos. Se utilizó un script para convertir de superconjunto al conjunto de cada laboratorio y se utilizó otro para volver a convertir. Esto minimizó la cantidad de scripts necesarios y el intercambio de datos se simplificó con Perl.

Funciones y ejemplos [ editar ]

BioPerl proporciona módulos de software para muchas de las tareas típicas de la programación bioinformática. Éstas incluyen:

Ejemplo de acceso a GenBank para recuperar una secuencia:

utilice Bio :: DB :: GenBank;$ db_obj = Bio :: DB :: GenBank-> nuevo;$ seq_obj = $ db_obj-> get_Seq_by_acc (# Insertar número de acceso);
  • Transformar formatos de bases de datos / registros de archivos

Código de ejemplo para transformar formatos

use Bio :: SeqIO;my $ uso = "all2y.pl informat outfile outfileformat";my $ informat = shift or die $ uso;my $ outfile = shift or die $ uso;my $ outformat = shift or die $ uso;my $ seqin = Bio :: SeqIO-> new (-fh => * STDIN, -format => $ informat,);my $ seqout = Bio :: SeqIO-> new (-file => "> $ outfile", -format => $ outformat,);while (my $ inseq = $ seqin-> next_seq){ $ seqout-> write_seq ($ inseq);}
  • Manipular secuencias individuales

Ejemplo de recopilación de estadísticas para una secuencia determinada

use Bio :: Tools :: SeqStats;$ seq_stats = Bio :: Tools :: SeqStats-> new ($ seqobj);$ peso = $ seq_stats-> get_mol_wt ();$ monomer_ref = $ seq_stats-> count_monomers ();# para secuencia de ácido nucleico$ codon_ref = $ seq_stats-> count_codons ();

Uso [ editar ]

Además de ser utilizado directamente por los usuarios finales, [4] BioPerl también ha proporcionado la base para una amplia variedad de herramientas bioinformáticas, que incluyen, entre otras :

  • SynBrowse [5]
  • GeneComber [6]
  • TFBS [7]
  • MIMOX [8]
  • BioParser [9]
  • Diseño de imprimación degenerado [10]
  • Consulta de las bases de datos públicas [11]
  • Cuadro comparativo actual [12]

Las nuevas herramientas y algoritmos de desarrolladores externos a menudo se integran directamente en el propio BioPerl:

  • Tratar con árboles filogenéticos y taxones anidados [13]
  • Herramientas web de FPC [14]

Ventajas [ editar ]

BioPerl fue uno de los primeros repositorios de módulos biológicos que aumentó su usabilidad. Tiene módulos muy fáciles de instalar, junto con un repositorio global flexible. BioPerl utiliza buenos módulos de prueba para una gran variedad de procesos.

Desventajas [ editar ]

Hay muchas formas de usar BioPerl, desde simples scripts hasta programas de objetos muy complejos. Esto hace que el lenguaje no sea claro y, a veces, sea difícil de entender. Para tantos módulos que tiene BioPerl, algunos no siempre funcionan de la forma en que se diseñaron.

Bibliotecas relacionadas en otros lenguajes de programación [ editar ]

Existen varias bibliotecas de bioinformática relacionadas implementadas en otros lenguajes de programación como parte de la Open Bioinformatics Foundation , que incluyen:

  • Biopython
  • BioJava
  • BioRuby
  • BioPHP
  • BioJS
  • Bioconductor

Referencias [ editar ]

  1. ^ Stajich, JE; Block, D .; Boulez, K .; Brenner, S .; Chervitz, S .; Dagdigian, C .; Fuellen, G .; Gilbert, J .; Korf, I .; Lapp, H .; Lehväslaiho, H .; Matsalla, C .; Mungall, CJ; Osborne, BI; Pocock, MR; Schattner, P .; Senger, M .; Stein, LD ; Stupka, E .; Wilkinson, MD; Birney, E. (2002). "El kit de herramientas de BioPerl: módulos de Perl para las ciencias de la vida" . Investigación del genoma . 12 (10): 1611–1618. doi : 10.1101 / gr.361602 . PMC  187536 . PMID  12368254 .
  2. ^ "Copia archivada" . Archivado desde el original el 2 de febrero de 2007 . Consultado el 21 de enero de 2007 .Mantenimiento de CS1: copia archivada como título ( enlace ) Una lista completa y actualizada de referencias de BioPerl
  3. ^ Lincoln Stein (1996). "Cómo Perl salvó el proyecto del genoma humano" . El diario de Perl . 1 (2). Archivado desde el original el 2 de febrero de 2007 . Consultado el 25 de febrero de 2009 .
  4. ^ Khaja R, MacDonald J, Zhang J, Scherer S (2006). "Métodos para identificar y mapear duplicaciones segmentarias y genéticas recientes en genomas eucariotas" . Mapeo, descubrimiento y expresión de genes . Métodos Mol Biol. 338 . Totowa, Nueva Jersey: Humana Press. págs. 9-20. doi : 10.1385 / 1-59745-097-9: 9 . ISBN 978-1-59745-097-3. PMID  16888347 .
  5. ^ Pan, X .; Stein, L .; Brendel, V. (2005). "SynBrowse: un navegador Synteny para el análisis de secuencia comparativa" . Bioinformática . 21 (17): 3461–3468. doi : 10.1093 / bioinformatics / bti555 . PMID 15994196 . 
  6. ^ Shah, SP; McVicker, GP; MacKworth, AK; Rogic, S .; Ouellette, BFF (2003). "GeneComber: combinación de salidas de programas de predicción de genes para mejorar los resultados" . Bioinformática . 19 (10): 1296-1297. doi : 10.1093 / bioinformatics / btg139 . PMID 12835277 . 
  7. ^ Lenhard, B .; Wasserman, WW (2002). "TFBS: marco computacional para el análisis del sitio de unión del factor de transcripción" . Bioinformática . 18 (8): 1135-1136. doi : 10.1093 / bioinformatics / 18.8.1135 . PMID 12176838 . 
  8. ^ Huang, J .; Gutteridge, A .; Honda, W .; Kanehisa, M. (2006). "MIMOX: una herramienta web para el mapeo de epítopos basado en la visualización de fagos" . BMC Bioinformática . 7 : 451. doi : 10.1186 / 1471-2105-7-451 . PMC 1618411 . PMID 17038191 .  
  9. ^ Catanho, M .; Mascarenhas, D .; Degrave, W .; De Miranda, AB? L. (2006). "BioParser" . Bioinformática aplicada . 5 (1): 49–53. doi : 10.2165 / 00822942-200605010-00007 . PMID 16539538 . 
  10. ^ Wei, X .; Kuhn, DN; Narasimhan, G. (2003). "Diseño de imprimación degenerado mediante agrupamiento". Actas. Conferencia de bioinformática de la IEEE Computer Society . 2 : 75–83. PMID 16452781 . 
  11. ^ Croce, O .; Lamarre, ML; Christen, R. (2006). "Consulta de las bases de datos públicas en busca de secuencias utilizando palabras clave complejas contenidas en las líneas características" . BMC Bioinformática . 7 : 45. doi : 10.1186 / 1471-2105-7-45 . PMC 1403806 . PMID 16441875 .  
  12. ^ Landsteiner, BR; Olson, MR; Rutherford, R. (2005). "Current Comparative Table (CCT) automatiza búsquedas personalizadas de bases de datos biológicas dinámicas" . Investigación de ácidos nucleicos . 33 (Problema del servidor web): W770 – W773. doi : 10.1093 / nar / gki432 . PMC 1160193 . PMID 15980582 .  
  13. Llabrés, M .; Rocha, J .; Rosselló, F .; Valiente, G. (2006). "Sobre la compatibilidad ancestral de dos árboles filogenéticos con taxones anidados". Revista de Biología Matemática . 53 (3): 340–364. arXiv : cs / 0505086 . doi : 10.1007 / s00285-006-0011-4 . PMID 16823581 . S2CID 1704494 .  
  14. ^ Pampanwar, V .; Engler, F .; Hatfield, J .; Blundy, S .; Gupta, G .; Soderlund, C. (2005). "Herramientas web FPC para arroz, maíz y distribución" . Fisiología vegetal . 138 (1): 116-126. doi : 10.1104 / pp.104.056291 . PMC 1104167 . PMID 15888684 .