/AutoContain

Primary LanguagePythonMIT LicenseMIT

AutoContain - Automated-containerized-bioinformatics-workflows

License

Summary

AutoContain is a web-based application for generating Dockerfiles and Docker images for scientific applications. Container technologies provide a valuable resource for bioinformaticians and data analysts within the scientific community. By bundling and packaging a complete toolchain or workflow, a container can provide portability, automation, and reproducibility.

This web application is meant for scientists who want a reproducible Docker image for their scientific projects and applications, but who do not have much experience in writing Dockerfiles or have trouble managing the dependencies that their project may rely on. The user-friendly web based GUI guides a user through all the steps to generate an appropriate Docker image.

Table of Contents

  1. Features
  2. Future Development
  3. Installation
  4. Usage
  5. Citing AutoContain
  6. Troubleshooting

Features

  • A selection of various base languages (eg. Python, R, Perl, Java, etc...)
  • Curation of relevant packages from popular language-specific package managers for easy accessibility
  • Option to utilize existing projects from GitHub repositories
  • Option to include data files in Docker image or mount an existing data volume
  • Hosting of generated Docker images in public Docker Hub repository
  • Generation of raw Dockerfile
  • User-friendly instructions for using Docker images
  • Easy deployment instructions for the AutContain application

Future-Development

  • Support for multiple programming languages and package managers
  • Support for third-party tools and binaries
  • Automated deployment of Jupyter Notebook environment
  • GUI based pipeline generation and management
  • Container based scalability through third-party tools
  • Other deployment options (eg. desktop application)

The application will allow users to select various components of a Docker image including a base Docker image, programming language packages and dependencies, operating system applications, imported data, and volume mapping.

Installation

  • Prerequisites:
    1. System Requirements : Unix/Linux OS Variants
    2. Docker
    3. Internet Browser (Chrome/Firefox)

Usage

  1. Open a web-GUI
  2. Select a Base Programming Language from a dropdown menu
  3. Select packages and appropriate versions from a list of available packages table (Type name in a search-box for quick lookup)
  4. On Submit, AutoContain builds a dockerfile automatically from user selected tools.
  5. The link to download dockerfile will be available for further usage.
  6. There will also be an option to create a docker image and added on DockerHub repositories.
  • If you want to find out more about DockerHub Repositories or how to use already built repositories available for public use please visit (https://hub.docker.com/explore/)

Citing-AutoContain

Until AutoContain is published, please cite using its github_repo.

Troubleshooting

As issues arise and common problems are identified, we will list them here.

  1. Currently this tool is built to provide libraries from Anaconda and only supports Python packages.