Users - running the container
Set permissions on datastore which will hold results of workflows after they run
mkdir workflows && mkdir datastore chmod a+wrx workflows && chmod a+wrx datastore
Run the tabix server as a named container if you have not already (see the tabix)
Download and expand your workflows using the SeqWare unzip tool, it requires Java 7. Here we use Sanger as an example (you should probably pick a shared directory outside of this directory to avoid interfering with the Docker context if you need to rebuild the image).
cd workflows wget https://seqwaremaven.oicr.on.ca/artifactory/seqware-release/com/github/seqware/seqware-distribution/1.1.1/seqware-distribution-1.1.1-full.jar wget https://s3.amazonaws.com/oicr.workflow.bundles/released-bundles/Workflow_Bundle_SangerPancancerCgpCnIndelSnvStr_188.8.131.52_SeqWare_1.1.0-alpha.5.zip java -cp seqware-distribution-1.1.1-full.jar net.sourceforge.seqware.pipeline.tools.UnZip --input-zip Workflow_Bundle_SangerPancancerCgpCnIndelSnvStr_184.108.40.206_SeqWare_1.1.0-alpha.5.zip --output-dir Workflow_Bundle_SangerPancancerCgpCnIndelSnvStr_220.127.116.11_SeqWare_1.1.0-alpha.5
Run container and login with the following (while persisting workflow run directories to datastore, and opening a secure link to the tabix server). Here we assume that a tabix container has already started, that you want to store your workflow results at /datastore and that the workflow that you wish to run (Sanger) is present in the workflows directory. Change these locations as required for your environment.
docker run --rm -h master -t --link pancancer_tabix_server:pancancer_tabix_server -v `pwd`/datastore:/datastore -v `pwd`/workflows/Workflow_Bundle_SangerPancancerCgpCnIndelSnvStr_18.104.22.168_SeqWare_1.1.0-alpha.5:/workflow -i seqware/seqware_whitestar_pancancer:1.1.1
Create an ini file (the contents of this will depend on your workflow). For testing purposes, you will require the following ini, note that the ip address for the tabix server will appear in your environment variables as PANCANCER_TABIX_SERVER_PORT_80_TCP_ADDR
# not "true" means the data will be downloaded using AliquotIDs testMode=true # the server that has various tabix-indexed files on it, see above, update with your URL tabixSrvUri=http://172.17.0.13/
Run workflow sequentially with
seqware bundle launch --dir /workflow --no-metadata --ini workflow.ini
Alternatively, run it in parallel with the following command.
seqware bundle launch --dir /workflow --no-metadata --ini workflow.ini --engine whitestar-parallel
For running real workflows, you will be provided with a gnos pem key that should be installed to the scripts directory of the Sanger workflow.
Developers - building the image locally
Assuming docker is installed properly, build image with
docker build -t seqware/seqware_whitestar_pancancer .