Tool integration in the Discovery Environment (DE)¶
Why use the DE?¶
Use hundreds of bioinformatics Apps without the command line (or with, if you prefer)
Batch and interactive modes
Seamlessly integrated with data and high performance computing – not dependent on your hardware
Create and publish Apps and workflows so anyone can use them
Analysis history and provenance – “avoid forensic bioinformatics”
Securely and easily manage, share, and publish data
Types of apps¶
CyVerse tool: Software program that is integrated into the back end of the DE for use in DE apps
CyVerse app: graphic interface of a tool made available for use in the DE
Executable: user starts an analysis and when the analysis finishes they can find the output files in their ‘Analyses’ folder
DE: run locally on our cluster
HPC: labeled as ‘Agave’ in the DE. Run on XSEDE resources at Texas Advanced Computing Center (TACC)
OSG: run on the Open Science Grid
Interactive: also called Visual and Interactive Computing Environment (VICE). Allows users to open Integrated Development Environments (IDEs) including RStudio, Project Jupyter and RShiny and work interactively within them.
The (containerized) tool must be integrated into the Cyverse DE first. Then an app (interface) can be built for that tool.
Building an App for Your Tool¶
You can build an app for any tool that:
is private to you
is shared with you
It is a good idea to check to see if the tool you want is already integrated before you start. The tool my be there already and you can build an app using it.
In the hamburger menu on the left side, open the ‘Apps’ then ‘Tools’
In the Apps window, on the upper right select the ‘More Actions’ option.
Then select the ‘Add Tool’ option. This will open the Tool integration feature.
Tools are essentially Docker images which are hosted on the internet from public registries like the DockerHub, Quay.io, Biocontainers, etc.
You can populate the Tool fields with the information about your container, and whether it is an ‘executable’ ‘interactive’ or ‘osg’ type application. Executable tools/apps are containers that typically are run from the command line interface. Interactive tools/apps include anything with a graphic user interface (GUI) or integrated development environment (IDE). ‘osg’ tools/apps are run on the OpenScienceGrid high throughput computing framework.
Each tool requires that you give it a ‘Name’ and ‘Version’ – these are specific to the Discovery Environment search feature and will be used when you design your ‘App’ interface.
The ‘Container Image’ is the Docker image from a public registry. You select an ‘Image Name’ using the registry/repository/container - note: the Tag is entered below. Optionally, you can provide a link to the public registry URL.
The new container can be provided with or without an ‘Entrypoint’, ‘Working Directory’, and ‘UID. You can update or modify the Container Image by updating these in the fields provided, these will overwrite whatever is in the base image.
If your container runs on open ports, e.g., interactive GUI like RStudio and Jupyter run on ports 8787 or 8888 - these must be provided in the ‘Container Ports’ field.
You can also set the maximum size limitations for your app. These are typically useful for containers that are used for teaching and may not need larger resources. You can leave these fields empty by default.
Once you’re sure that you’ve set these features correctly, click ‘Save’ and exit the screen.
Your next step is to create a new ‘App’ interface.