StarBLAST-Docker: Cloud Deployment for Medium Classes (25-100)

To deploy StarBLAST setup in a cloud provider, you will need accounts with those providers. This example uses XSEDE’s JetStream Cloud service. You can access JetStream using an XSEDE account, a Globus account, or via institutional access to XSEDE (search for your institution name from the drop down menu in JetStream’s login page).

This setup uses a “Foreman” instance for the front-end sequenceServer and one or more “Worker” instances to distribute the computational load of running blast. Docker containers are used to deploy the Foreman and Workers through deployment scripts. These deployment scripts are designed to:

  • Get appropriate Worker and Foreman containers
  • Download specified BLAST databases (can customize)
  • Launch sequenceServer front-end that can be accessed using the code: <FOREMAN_IP_ADDRESS> of the instance
  • Connect factory of workers to the Foreman

Launching Foreman & Worker Instances

1. Login to JetStream Cloud.

2. From JetStream’s top menu, navigate to “Projects” and select “Create New Project”.

Tut_0

3. In the “Project Name” field, name your project and add a description.

Tut_0B

4. From JetStream’s dashboard, select “Launch New Instance”.

Tut_1

5. Be sure to change the default tab from “Show Featured” to “Show All”, search for “Docker_starBLAST” and select the “Docker_starBLAST” image (or click here); click “Launch”.

Tut_2

Tut_3

6. In the pop up menu you can customize your image (e.g. Instance Size. Use a minimum of m1.xlarge instance for Foreman, with at least 60GB disk space); select “Advanced Options”.

Tut_4

7. Select “Create a New Script”.

Tut_5

8. Title the script “Foreman” or similar, select “Raw Text” and copy and paste the Foreman script, linked below. The scripts generate a password and username based on the user account, but these can be personalized if needed (not suggested for new users). Select “Save and Add Script” and then “Continue to Launch”.

Deployment Scripts

  • The deployment scripts for a Foreman instance (atmo_deploy_master.sh) can be found here.
  • The deployment scripts for a Worker instance (atmo_deploy_worker.sh) can be found here.

Note

This step is required to be done once for the Foreman and once for each Worker instance. The deployment scripts are stored for future use.

Tut_6

9. Repeat steps 4-8 for one or more Worker instance(s), using the Worker deployment script. Use large or extra large images (at least 60GB of disk space is required).

Note

JetStream cloud will take at least 10-20 minutes and the wait-time will increase with the size of the BLAST database.

Start BLASTING! Now anyone can enter the <FOREMAN_IP_ADDRESS> into their browser and access SequenceServer.

Tut_7