Download Documentation Bug Report


BlastXml2Database new Full Blast Xml Report Parser.
Parses Full Blast Xml Report.
MySql and Postgres support.
Use it with Linux Cron.
Multi-Platform.
Developed with Mono Project.
Software Libre.

Download the latest version
Latest alpha binaries release:v0.2.1
Latest alpha sources release:v0.2.1

WHO'S USING BLASTXML2DB     

LEARN BLASTXML2DATABASE NOW!

"Trabajo para uno de los grupos de investigación que trabajan con células madre y cáncer y bxml2db me ha venido muy bien para volver a lanzar algunos blast que me quedaron pendientes de ese proyecto. Me ha resultado muy útil, porque realmente no hay ningún otro parseador tan eficaz.

muchísimas gracias por tu trabajo, creo que el poder disponer de pequeñas herramientas como la tuya es lo que hace que la bioinformática pueda seguir adelante. Y el que se fomente el código libre también es algo clave para que todo esto siga adelante !"

Fran Gonzalez
Centro de Investigación del Cáncer
(CSIC-Universidad de Salamanca) España

BlastXml2Database es un programa que permite leer y parsear archivos XML los cuales son generados por BLAST usando el parámetro -m 7. posteriormente permite almacenar en una base datos toda la informacion completa.

básicamente almacena los siguientes elementos:

  • Modulo usado en blastall(blastx,blastp..etc)
  • Base de datos usada.
  • Iteraciones.
  • Hits.
  • Hsps(incluyendo alineamientos).
  • Mensajes de error.

BlastXml2Database Cutter Utility es un programa que se incluye como herramienta adicional la cual permite cortar reportes de BLAST en formato Xml y generar un archivo xml por cada iteración(ctg) encontrada en el reporte de BLAST. esto permite usarlo en un cluster de computo y almacenar grandes volúmenes de datos en forma distribuida.

existe una versión de bxml2db de prueba que permite extraer iteraciones, hits y hsps específicos.

BlastXml2Database necesita los siguientes programas:

Para instalar BlastXml2Database existen los siguientes pasos:

  1. Crear una base de datos en MySql.
  2. Crear una tabla, llamarla blast_hit y añadir los siguientes 36 campos:
  3. Instalación del Framework Mono
    para instalar mono hay varias maneras de hacerlo:
    • compilando el código fuente.
    • usando paquetes específicos para una distribución de Linux(rpm,deb).
    • paquetes auto-instalables para Linux y Windows.

    para descargar e instalar mono visita el sitio web oficial del proyecto Mono:
    • http://www.go-mono.com/mono-downloads/download.html
    • http://www.mono-project.com/Other_Downloads

    la manera mas rápida de instalar mono:
    • http://ftp.novell.com/pub/mono/archive/1.9.1/linux-installer/2/mono-1.9.1_2-installer.bin
    • http://www.mono-project.com/InstallerInstructions
  4. Instalación del ensamblado para MySql(MySql Connector.NET)
    la versión que usa de MySql Connector.NET es la 5.0.8.1
    en esta versión se incluye la librería para MySql en la carpeta "mysql-libs"
    sitúese en el directorio donde se encuentra la librería(dll) y escriba:
    gacutil -i MySql.Data.dll
    el comando anterior instalara la librería de MySql Connector en el Global Assembly Cache(GAC) ,dependiendo donde tengas instalado mono y el gac deberá existir el siguiente arbol de directorios:
    $HOME_MONO_GAC/gac/MySql.Data/5.0.8.1__c5687fc88969c44d/MySql.Data.dll

BlastXml2Database acepta los siguientes parámetros:
--program
=========  
permite elegir cual programa se ejecutara(bxml2dbmini o bxml2db_cutter) muy al estilo de blastall.

--dir
=========      
establece el directorio que contiene los reportes generados por BLAST en formato Xml.

--project
=========  
nombre de la base de datos en Mysql o PostgreSql donde se almacenara la información.

--server
=========   
establece la dirección ip del servidor de datos Mysql o PostgreSql.

--user usernamekey 
==================
usuario de la base de datos.

--password passkey 
==================
contraseña del usuario de la base de datos.

--security disabled|enabled
===========================
permite habilitar o deshabilitar un esquema de seguridad inicial para dedos rápidos, es 100% recomendable deshabilitar la seguridad en los casos que
el programa se vaya usar mediante cron o para visualizar la información que arroja al momento del procesamiento de los archivos xml.

--fix-iteration disabled
========================
en la versión inicial del programa se usaba para arreglar algunos detalles que BLAST arrojaba al generar las iteraciones(ctgs). 

--data-server-provider
======================
permite especificar el proveedor de datos que se usara MySql o PostgreSql.
								
Ejemplo de uso:

BlastXml2Database
$mono launcherall_test.exe --program bxml2dbmini
--dir /media/sda8/ensamblado/magisblastxml
--project magis
--server 127.0.0.1
--user userkey
--password passkey
--security disabled
--fix-iteration disabled
--data-server-provider MySql > /media/sda12/salida1-13.magis.tmp

En este ejemplo se ejecuta el programa launcherall_test.exe similar a blastall del ncbi, este programa permite cargar el modulo o subprograma (bxml2dbmini o bxml2db_cutter).
Los parámetros aplican de la siguiente manera:
--programindica que se va usar el programa bxml2dbmini.
--projectindica que la base de datos donde se va almacenar en MySql es magis.
--serverindica que la dirección ip del servidore de base de datos es 127.0.0.1
--userindica el usuario que accede a la base de datos es userkey.
--passwordindica que el password del usuario que accede a la base de datos es passkey.
--securityestablece que el programa no solicitara una contraseña antes de procesar los archivos.
--fix-iterationestablece que no llamara a la rutina que arregla la numeración de las iteraciones de blast
--data-server-providerindicia el servidor de datos que se va usar en este ejemplo es MySql.

BlastXml2Database Cutter Utility
$mono launcherall_test.exe --program bxml2db_cutter
--file /directory/ensambladox.y.z.camaron.xml
--cutexpression tag:xml_declaration
--filestocut all

En este ejemplo se usa el programa bxml2db_cutter y los parámetros en el ejemplo indican lo siguiente:
--fileindica el archivo que se va dividir.
--cutexpressionindica la expresión de corte, en este ejemplo usa la declaración de xml, para extraer una iteración completa.
--filestocutindica cuantas iteraciones se van extraer del reporte xml de blast, en este ejemplo se van extraer todas(all)
BlastXml2Database es una aplicación que forma parte de la suite del proyecto BioMono.
BioMono es:
  • una suite multiplataforma de programas para el area bioinformatica.
  • un conjunto de librerías.
Los lenguajes que se pueden usar para trabajar con la Api de Biomono son:

La suite y Api de Biomono estarán próximamente disponibles.



Developed by Magally and Jacob
BlastXml2Database tool is part of Langebio's Bioinformatic Software Development
BlastXml2Database is licensed under GNU General Public License