Create a Workflow with Composer
The Arvados Workflow Composer is a graphical interface for building Common Workflow Language (CWL) workflows to run on Arvados.
This tutorial will demonstrate:
- Creating a new git repository through Arvados to store the workflow
- Creating CommandLineTools for “sort” and “uniq”
- Creating a Workflow which uses “sort” and “uniq” to remove duplicate lines from a text file
- Submitting the Workflow to run on Arvados
1. Access from workbench
![](c1.png)
2. Composer starting page
![](c2.png)
3. Manage git repositories (opens Workbench in new tab)
![](c2b.png)
4. Add a new repository
![](c4.png)
![](c3.png)
5. Return to Composer. Use refresh button to discover new repository (may take a few moments to show up).
![](c2c.png)
6. Create a new Command Line Tool
![](c5.png)
![](c20.png)
7. Set Docker image, base command, and input port for “sort” tool
The “Docker Repository” is the name:tag of a Docker image uploaded Arvados. (Use arv-keepdocker --pull debian:8
) You can also find prepackaged bioinformatics tools on various sites, such as http://dockstore.org and http://biocontainers.pro/ .
![](c6.png)
8. Redirect stdout to a file
![](c7.png)
9. Capture output file
![](c8.png)
10. Save Command Line Tool
![](c22.png)
11. Repeat steps 6-10 for “uniq” tool
Create a new tool with a “base command” of “uniq”.
12. Switch back to “Home” tab and create workflow
![](c24.png)
![](c9.png)
![](c10.png)
13. Drag and drop tools into Workflow
![](c11.png)
14. Drag from input port of “sort” to empty space to create workflow input
![](c21.png)
15. Drag from output port of “sort” to input port of “uniq”
![](c13.png)
16. Drag from output port of “uniq” to empty space to create workflow output
![](c14.png)
17. Save Workflow
![](c23.png)
18. Click on “Test” tab then click “Run”
![](c15.png)
19. Choose input file
You may need to upload an input file
![](c16.png)
20. Run the workflow
![](c17.png)
21. Monitor progress (may take several minutes)
![](c18.png)
22. Get workflow output
![](c19.png)
Previous: Running a workflow using Workbench
Next: Accessing an Arvados VM with Webshell