Visualization tools have been built with a range of languages and they may have numerous, and possibly conflicting, dependencies. For the Refinery Platform, a data management, analysis, and visualization system for bioinformatics and computational biology applications, we have tried to accommodate the widest range of tools by creating django_docker_engine, a Python package, available on PyPI, which launches Docker containers, proxies requests from Django to the containers, and records each request.
In the Refinery Platform, interactive visualizations managed by django_docker_engine complement workflows managed by Galaxy: Both tools lower barriers to entry and make it possible for end users to run sophisticated analyses on their own data. Refinery adds user management, access control, and provenance tracking facilities to make research more reproducible.
This approach will be useful in any environment which needs to provide access to pre-existing or independently developed tools from within a Django application with responsibility for user authentication, access control, and data management.