|
| 1 | +# GA4GH Tool Execution Challenge - Phase 2. |
| 2 | + |
| 3 | +This document describes how to use Planemo ([docs](http://planemo.readthedocs.io/en/latest/?badge=latest) |
| 4 | +| [github](https://github.com/galaxyproject/planemo)) to enter Phase 2 of the |
| 5 | +[GA4GH Tool Execution Challenge](https://www.synapse.org/#!Synapse:syn8507133/wiki/415976) using Galaxy. |
| 6 | + |
| 7 | +1. Register for [Synapse account](https://www.synapse.org/#!RegisterAccount:0). |
| 8 | +1. Become a [certified Synapse user](http://docs.synapse.org/articles/accounts_certified_users_and_profile_validation.html#certified-users) - requires passing a short quiz on data usage. |
| 9 | +1. [Register for the challenge](https://www.synapse.org/#!Synapse:syn8507133/wiki/415976). |
| 10 | +1. Setup a ``~/.synapseConfig`` file in your home directory. |
| 11 | + |
| 12 | + ``` |
| 13 | + [authentication] |
| 14 | + username: me@example.com |
| 15 | + password: secret |
| 16 | + ``` |
| 17 | + |
| 18 | +1. Install Planemo and Synapse |
| 19 | + |
| 20 | + ``` |
| 21 | + $ virtualenv planemo-venv; . planemo-venv/bin/activate |
| 22 | + $ pip install -U pip |
| 23 | + $ pip install planemo synapseclient |
| 24 | + ``` |
| 25 | + |
| 26 | +1. Pick a workflow, fetch it, run it, check it, and submit it (per-workflow instructions below). |
| 27 | +1. Go to the resulting workflow entry page and update it with your specific environment settings and ensure it and the relevant files are shared. |
| 28 | + |
| 29 | +## The Workflows |
| 30 | + |
| 31 | +### hello_world |
| 32 | + |
| 33 | +https://www.synapse.org/#!Synapse:syn9630940 |
| 34 | + |
| 35 | +A CWL script is distributed to fetch the workflow from Synapse. We will run this |
| 36 | +script using cwltool (installed with Planemo) - since it is a bit quicker than |
| 37 | +starting up a Galaxy server. We will use Galaxy only to run the actual workflow. |
| 38 | + |
| 39 | +``` |
| 40 | +mkdir hello_world |
| 41 | +cd hello_world |
| 42 | +cp ~/.synapseConfig . |
| 43 | +synapse get syn9733811 |
| 44 | +synapse get syn9732885 |
| 45 | +synapse get syn9770802 |
| 46 | +cwltool --non-strict dockstore-tool-synapse-get.cwl hello_world_get.cwl.json |
| 47 | +``` |
| 48 | + |
| 49 | +Use Planemo to run the ``hello_world.cwl`` workflow that results. |
| 50 | + |
| 51 | +``` |
| 52 | +planemo --verbose run --docker --non_strict_cwl --no_dependency_resolution --output_directory `pwd` hello_world.cwl hello_world.cwl.json |
| 53 | +``` |
| 54 | + |
| 55 | +Check the results using the checker workflow: |
| 56 | + |
| 57 | +``` |
| 58 | +cwltool --non-strict hello_world_checker.cwl hello_world_checker.cwl.json |
| 59 | +``` |
| 60 | + |
| 61 | +Update ``hello_world_submit.cwl.json`` with a ``team_name`` field and a ``parent_id`` and then |
| 62 | +submit using the submit worfklow. Create a new Project for the challenge (if you haven't |
| 63 | +already) and a folder under that project to create a ``parent_id`` for this submission. If you |
| 64 | +wish to use the "GalaxyProject" team - contact John Chilton (jmchilton@gmail.com) to get added |
| 65 | +to the project. |
| 66 | + |
| 67 | +``` |
| 68 | +cwltool --non-strict dockstore-tool-synapse-submit.cwl hello_world_submit.cwl.json |
| 69 | +``` |
| 70 | + |
| 71 | +Wait for an e-mail with additional instructions and then go to the Synapse entry and update |
| 72 | +the fields in the wiki page generated for this new entry. |
| 73 | + |
| 74 | +### md5sum |
| 75 | + |
| 76 | +https://www.synapse.org/#!Synapse:syn10167920 |
| 77 | + |
| 78 | +A CWL script is distributed to fetch the workflow from Synapse. We will run this |
| 79 | +script using cwltool (installed with Planemo) - since it is a bit quicker than |
| 80 | +starting up a Galaxy server. We will use Galaxy only to run the actual workflow. |
| 81 | + |
| 82 | + |
| 83 | +``` |
| 84 | +mkdir md5sum |
| 85 | +cd md5sum |
| 86 | +cp ~/.synapseConfig . |
| 87 | +synapse get syn9771740 |
| 88 | +synapse get syn9732885 |
| 89 | +synapse get syn9770802 |
| 90 | +cwltool --non-strict dockstore-tool-synapse-get.cwl md5sum_get.cwl.json |
| 91 | +``` |
| 92 | + |
| 93 | +Use Planemo to run the ``hello_world.cwl`` workflow that results. |
| 94 | + |
| 95 | +``` |
| 96 | +planemo --verbose run --docker --non_strict_cwl --no_dependency_resolution --output_directory `pwd` md5sum.cwl md5sum.cwl.json |
| 97 | +``` |
| 98 | + |
| 99 | +Check the results with the checker workflow: |
| 100 | + |
| 101 | +``` |
| 102 | +cwltool md5sum_checker.cwl md5sum_checker.cwl.json |
| 103 | +cat results.json | grep -i overall |
| 104 | +``` |
| 105 | + |
| 106 | +Update ``md5sum_submit.cwl.json`` with a ``team_name`` field and a ``parent_id`` and then |
| 107 | +submit using the submit worfklow. Create a new Project for the challenge (if you haven't |
| 108 | +already) and a folder under that project to create a ``parent_id`` for this submission. If you |
| 109 | +wish to use the "GalaxyProject" team - contact John Chilton (jmchilton@gmail.com) to get added |
| 110 | +to the project. |
| 111 | + |
| 112 | +``` |
| 113 | +cwltool --non-strict dockstore-tool-synapse-submit.cwl md5sum_submit.cwl.json |
| 114 | +``` |
| 115 | + |
| 116 | +Wait for an e-mail with additional instructions and then go to the Synapse entry and update |
| 117 | +the fields in the wiki page generated for this new entry. |
| 118 | + |
| 119 | +### encode_mapping_workflow |
| 120 | + |
| 121 | +``` |
| 122 | +mkdir encode_mapping |
| 123 | +cd encode_mapping |
| 124 | +cp ~/.synapseConfig . |
| 125 | +synapse get syn9732885 |
| 126 | +synapse get -r syn10163025 |
| 127 | +``` |
| 128 | + |
| 129 | +### gdc_dnaseq_transform (WIP) |
| 130 | + |
| 131 | +This worklfow doesn't work yet - see open issues at https://github.com/common-workflow-language/galaxy. |
| 132 | + |
| 133 | +``` |
| 134 | +mkdir gdc_dnaseq_transform |
| 135 | +cd gdc_dnaseq_transform |
| 136 | +cp ~/.synapseConfig . |
| 137 | +synapse get syn9962438 |
| 138 | +synapse get syn9732885 |
| 139 | +synapse get syn9770802 |
| 140 | +cwltool --non-strict dockstore-tool-synapse-get.cwl gdc_dnaseq_transform_get.cwl.json |
| 141 | +``` |
| 142 | + |
| 143 | +This last step downloads around 12 GB of data so this may take some time. |
| 144 | + |
| 145 | +``` |
| 146 | +planemo --verbose run --docker --cwl_galaxy_root ~/workspace/galaxy --output_directory `pwd` cwl/workflows/dnaseq/transform.cwl transform.cwl.json |
| 147 | +``` |
| 148 | + |
| 149 | +### biowardrobe_chipseq_se (WIP) |
| 150 | + |
| 151 | +This worklfow doesn't work yet - see open issues at https://github.com/common-workflow-language/galaxy. |
| 152 | + |
| 153 | +mkdir biowardrobe_chipseq_se |
| 154 | +cd biowardrobe_chipseq_se |
| 155 | +cp ~/.synapseConfig . |
| 156 | +synapse get syn10204916 |
| 157 | +synapse get syn9770802 |
0 commit comments