Software para el desarrollo de servidores de genómica/bioinformática - Open Source

Estoy en un dilema: tengo un proyecto de maestría (bioinformática) el próximo año y tengo que elegir un marco para desarrollar un sitio web/centro de procesamiento/funcionalidad general integral. El código abierto es una necesidad absoluta .

Criterios:

  • verse razonablemente bien (no es una gran prioridad)

  • capaz de procesamiento pesado, es decir, realizar análisis filogenéticos/dibujar árboles, esto es extremadamente intensivo desde el punto de vista computacional.

  • ser capaz de realizar consultas ad-hoc contra una base de datos PostgreSQL y/o bases de datos en la web usando interfaces REST.

  • ser capaz de realizar trabajo multi-servidor eventualmente

Estoy pensando en la ecosfera de Java o node.js

Me interesarían ideas/opiniones/referencias/URLS/lo que sea sobre los pros y los contras de ambos marcos para un entorno de desarrollo web de propósito general, ¡capaz de impactar cuando sea necesario! Sé que Java se puede usar para procesar trabajos intensivos, pero he leído que Javascript no es adecuado para esto, es bueno para presentaciones pero no para trabajos pesados. ¿Node.js cambia esto?

Si tengo que aprender algo, preferiría usar el mismo lenguaje tanto del lado del servidor como del lado del cliente, ¡pero las capacidades de procesamiento tienen prioridad!

"capaz de procesamiento pesado": ¿El tipo de procesamiento que se ejecuta durante semanas en un clúster distribuido? Si es así, sería mejor que primero eligiera una herramienta de procesamiento de trabajo pesado con una interfaz de usuario web fácil de integrar y luego elija un marco web que pueda mostrarlo, por ejemplo, como un portlet IFrame en Liferay.
¿Podrías editar el título? Es demasiado genérico y no refleja la esencia de la pregunta. ¡Gracias! :-)
También reemplace "funcionalidad general general" con ejemplos más específicos.
@NicolasRaoul: he editado mi pregunta. Espero que esto aclare las cosas?
¿Desea que las tareas extremadamente intensivas desde el punto de vista computacional se realicen en varias computadoras? ¿O solo en la misma computadora que también se usa como servidor web? Todos los servidores web tienen un "tiempo de espera" de unos minutos. Este tiempo de espera se puede configurar, pero configurarlo en horas a menudo no es un caso de uso compatible.
Tal vez mi pregunta debería ser más: ¿Javascript en node.js es adecuado para requisitos de procesamiento pesado? Pensé que javascript no estaba orientado al trabajo pesado, excelente para la presentación pero no para el procesamiento. No había pensado en varios nodos; tendrá que ser un sí en los múltiples nodos: la nube/Hadoop/Apache ecosphere una gran parte, por supuesto, gracias. ¡He editado la pregunta en consecuencia!

Respuestas (1)

Sugeriría echar un vistazo de cerca a Django o Flask , ambos son:

  • basado en pitón,
  • Gratis, gratis y de código abierto
  • Creación rápida de prototipos y desarrollo
  • plataforma cruzada
  • Tener comunidades muy útiles y activas
  • Puede crear sitios web muy atractivos, consulte Public Broadcasting Service, Instagram, Mozilla, The Washington Times, Disqus, Bitbucket y Nextdoor, todos basados ​​en Django o Pinterest Flask .
  • Al estar basado en Python, puede usar e interactuar con el resto del ecosistema de Python con herramientas como SciPy, Pandas, Jupyter, Biopython
  • Hay una gran cantidad de herramientas y literatura sobre bioinformática y sistemas de información geográfica en Python.