Tip para paneles (ContentPane) en DojoToolkit 1.1.1

al momento de trabajar con paneles “ContentPane” en el modulo de Dijit , hay ocasiones en que defines varios elementos o mejor dicho widgets como tabs, botones, validadores de contenido..etc. seguramente habrás notado que no aparecen estos elementos en el panel por lo que quizá tienes que recargar de nueva cuenta la pagina o generar un postback para actualizar el contenido de dicho panel. la solución a esta problemática es muy sencilla y hacemos lo siguiente:

en tu archivo javascript:

…código

var mydialog = dijit.byId("midialogo");
mydialog.parseOnLoad = true;   //<---
mydialog.preload = true;          //<--
mydialog.show(); //or mydialog.startup();

…..mas código

;)

Blast Query Sequence Visualizer Beta

He dado un paso de saltar del track de versión 0.x al track 1.x !!!!

Siguiendo con la interfaz para la representación gráfica de las secuencias, he actualizado muchas cosas, he corregido errores, aclaro hay mas bichos  por eliminar, y he añadido mas funcionalidad respetando como siempre la interacción con el usuario final ya que la interfaz se desarrolla pensando en el usuario final y NO como piensa el desarrollador que es lo mejor para el.

En esta imagen muestro la parte la cuenta del usuario y la opción para editar sus datos, todo corre bajo una “capa asincronica”.

Blast Query Sequence Visualizer Demo IV

En estos días he terminado, entre otros proyectos, avances significativos en la interfaz para la representación gráfica de secuencias y genes los cuales describo a continuación:

La representación del modelo génico, aclaro no esta terminado todavía , de acuerdo a la base de datos es como se muestra en la siguiente imagen:

las barras de color “morado” representan los exones y los picos representan los intrones, esto sin duda alguna lo puedo mejorar pero por ahora es correcto, realmente hacer esto no esta tan fácil.

Añadí una barra de opciones que se encuentra al lado del nombre del contig con la cual pueden añadir comentarios a un contig,posteriormente esto se convertirá en el sistema de anotación cuando este terminado por supuesto, también se puede ver quien realizo cada comentario que se han hecho a un contig así como de igual forma descargar la secuencia en el formato del flat file de GenBank:

cabe señalar que el 80% de consultas y acarreo de datos van por el “canal asincronico” de tal forma que el rendimiento y rapidez de la aplicación web es muy muy buena.

El dialogo que se muestra en la imagen anterior permite descargar en formato texto la secuencia así como también verla en linea mediante un panel desplegable, aquí interviene GenBank2Any.

La parte de comentarios:

Previo al mostrar esta pagina, hay otro pagina de inicio donde se hace una busqueda de contigs en base al nombre o en base a una palabra clave como por ejemplo: “zein”, “transposon”, “bronze”..etc. esto permite obtener una lista de contigs que contengan esa descripción y de esta forma consultar un contig en particular.

esa lista de contigs esta disponible por ahora como se muestra en la siguiente imagen:

Blast Query Sequence Visualizer III

de acuerdo a mi “changeLog” solo he añadido lo siguiente al sistema:

* (6/05/08) cuchareada para obtener el id completo y la(s) referencia(s) que vienen en los campos hit_id o también en el campo hit_def (status: complete).

* (7/05/08) dijit panel desplegable contenedor de todos los HSP’s por cada hit con la información completa que genera BLAST(status:85%).

* (8/05/08) Ahora cada barra de HSP esta enlazada con su descripción.

(puedes hacer clic sobre las imágenes para agrandar)

colores y demas detalles pueden cambiar sin problemas!!!!

Blast Query Visualizer Demo by Jacob

En el trabajo he estado desarrollando varias herramientas para procesar datos en gran escala, al menos para mi es cierto, al inicio use PostgreSQL para almacenar mucha información, 8GB en registros aproximadamente, y plenamente confió en postgreSQL aunque primero hay que configurar postgreSQL para obtener un rendimiento optimo.

Entre varias herramientas de las cuales mas delante comentare, tiene sentido ahora comentar sobre Blast Query Visualizer Demo la cual es una aplicación web que al día de hoy sigo desarrollando. esta aplicación permite representar gráficamente la información que BLAST genera y con esto quiero decir que permite representar contigs con los hits asociados y hsps por cada hit, aunque platicando con varios compañeros de trabajo hay mucho trabajo por hacer, pero la parte sustancial que permite dibujar en una pagina web es estable.

Para darnos una idea les muestro primero una imagen:

Blast Query Visualizer Demo

En esta imagen pueden observar un contig(E09Contig125.1) de NR con 1 hit y 9 hsps y el color indica el score en bits muy al estilo del NCBI, aunque bueno esta pantalla realmente no esta terminada ni a un 40% hay cosas como la tabla de coordenadas que no debe aparecer ahi, esa informacion es para mi como desarrollador, la barra de escala no indica nada pero lo hara en algun momento
, por lo que los siguientes componentes estan en fase de pruebas:

  • El motor que dibuja hsps con un sustento de una base de datos MySql, PostgreSql, Sqlite y en un futuro XML crudo generado por BLAST, para ello necesito Linq a XML.
  • Las coordenadas de los hsps están a escala con base a 850 pixeles. Maggy y su servidor desarrollamos una formula de conversión de coordenadas BLAST a coordenadas en Html-Pixel, esto es :
  • hsp_queryfrom, hsp_queryto, hsp_hitfrom,hsp_hitto

El Desarrollo de este chisme:

  • El motor de generación gráfica de hsps lo estoy desarrollando con DojoToolkit.
  • Usa un Servicio Web escrito en C# en Mono como “capa de negocio” que interactua con la capa de datos para extraer la información de la base de datos.
  • Un poco de trabajo con objetos en Javascript (offobjects)
  • Parser en Javascript para la clasificación de los datos al vuelo provenientes en formato SOAP del servicio web , esto quiere decir Javascript+ XML – asincronico (el archifamoso AJAX).
  • Algunos puntos de comunicación entre Javascript y C# vía ASP.NET en Mono.

Algo interesante aparte de lo que estoy comentando es que debido a la estructura de los módulos se puede fácilmente quitar el servicio web en c# y reemplazarlo por uno escrito en Perl o algún otro lenguaje que para ustedes sea lo mejor.

Esta herramienta es la que mas tiempo me esta consumiendo pero con buenos resultados, por ahora estoy trabajando con hsps sobrelapados y como generar un despliegue vertical de los mismos dinamicamente. la idea principal sera dibujar toda la información completa y creo que la gente de biología o bioinformatica comprenderá que es toda la información. al día de hoy yo no me considero bioinformatico, solo un buen paria que intenta hacer herramientas de software para obtener resultados mas eficientemente aunque no tenga la mas mínima puta idea de la biología molecular.