{"id":13296954,"url":"https://github.com/fpsom/intro-to-cwl-docker","last_synced_at":"2025-07-09T16:04:21.727Z","repository":{"id":129760905,"uuid":"238171003","full_name":"fpsom/intro-to-cwl-docker","owner":"fpsom","description":"Introduction to CWL and Docker","archived":false,"fork":false,"pushed_at":"2020-03-20T13:58:47.000Z","size":357,"stargazers_count":0,"open_issues_count":2,"forks_count":1,"subscribers_count":2,"default_branch":"gh-pages","last_synced_at":"2025-05-21T11:15:30.887Z","etag":null,"topics":["cwl","docker","training"],"latest_commit_sha":null,"homepage":"https://fpsom.github.io/intro-to-cwl-docker/","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc-by-4.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fpsom.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-02-04T09:42:31.000Z","updated_at":"2020-03-20T13:58:49.000Z","dependencies_parsed_at":"2023-04-03T16:49:51.032Z","dependency_job_id":null,"html_url":"https://github.com/fpsom/intro-to-cwl-docker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fpsom/intro-to-cwl-docker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fpsom%2Fintro-to-cwl-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fpsom%2Fintro-to-cwl-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fpsom%2Fintro-to-cwl-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fpsom%2Fintro-to-cwl-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fpsom","download_url":"https://codeload.github.com/fpsom/intro-to-cwl-docker/tar.gz/refs/heads/gh-pages","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fpsom%2Fintro-to-cwl-docker/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264492287,"owners_count":23617025,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cwl","docker","training"],"created_at":"2024-07-29T17:21:20.483Z","updated_at":"2025-07-09T16:04:21.652Z","avatar_url":"https://github.com/fpsom.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv class=\"sponsor-logos\"\u003e\n  \u003ca href=\"https://www.rd-alliance.org/rda-europe/\" title=\"RDA-EU\"\u003e\n    \u003cimg style=\"margin-right:50px\" alt=\"RDA-EU\" src=\"static/images/RDA-EU-logo.png\" width=\"80\"/\u003e\n  \u003c/a\u003e\n  \u003ca href=\"http://inab.certh.gr/\" title=\"INAB-CERTH\"\u003e\n    \u003cimg style=\"margin-right:50px\" alt=\"INAB-CERTH\" src=\"static/images/INAB-logo.png\" width=\"80\"/\u003e\n  \u003c/a\u003e\n  \u003ca href=\"http://inab.certh.gr/\" title=\"ATHENA RC\"\u003e\n    \u003cimg style=\"margin-right:50px\" alt=\"ATHENA-RC\" src=\"static/images/ARC-logo.png\" width=\"80\"/\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://www.elixir-europe.org/\" title=\"ELIXIR\"\u003e\n    \u003cimg style=\"margin-right:50px\" alt=\"ELIXIR\" src=\"static/images/ELIXIR-logo.png\" width=\"80\"/\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n### Overview\n\nReproducible research is an important part of good scientific practice. Establishing robust computational analysis workflow facilitates reproducible research. There has been a strong emphasis on establishing graphic workflow management systems, such as Galaxy and Knime. However, the landscape and complexity of Linux command line tools for workflow management is vast and complicated. We aim to take advantage of European/International leaders in the field to present current scientific workflow paradigms and a lead workshops to implement a basic workflow. Topics covered include workflows and containerization.\n\n### Learning objectives\n\n#### Docker\n- Understand what containerisation is, and why you might use it in bioinformatics\n- Be familiar with Docker; basic concepts and structure\n- Find and run containers built by other people\n- Build your own application into a container (containerisation)\n- Distribute your container online\n\n#### CWL\n- Understand syntax and structure for CWL\n- Understand how to write CWL tool definitions for command line tools\n- Read and write CWL files written in YAML\n- How to run CWL workflows locally and on EG-CI\n- Join CWL tools into a workflow\n- Use Docker with CWL to provide software dependencies and ensure reproducibility\n\n### Audience and requirements\n\nThis introductory tutorial is aimed towards bioinformaticians (graduate students and researchers), who are interested in becoming familiar to Docker based workflows in CWL, as is currently supported by the ΕLIXIR-Greece Compute Infrastructure (EG-CI).\n\n### Prerequisites\n\n- Experience in Shell; this includes basic commands (such as `ls`, `cp`, `mv`, `nano/vim`) and operations such as (`apt`, installing tools etc).\n\n_Maximum participants_: 25\n\n\n### Schedule\n\n#### Day 1\n\n| Time  |  Details |\n|--------|----------|\n| 10:00 - 10:30\t| **Tutorial introduction**. \u003cbr /\u003e \u003cbr /\u003e - Get to know each other. \u003cbr /\u003e - Setup \u003cbr /\u003e [_Link to material_](episodes/setup.md) |\n| Part I: Containers Background | |\n| 10:30 - 11:30\t| **Introduction to Containerization**. \u003cbr /\u003e\u003cbr /\u003e - Concepts and Theory \u003cbr /\u003e [_Link to material_](episodes/01-intro.md)\n| 11:45 - 13:00\t| **Run a container**.\u003cbr /\u003e\u003cbr /\u003e - Examples of how to run an existing Docker container \u003cbr /\u003e [_Link to material_](episodes/02-bioinformatics-and-ml.md) |\n| Part II: Building a Container | |\n| 14:00 - 15:30 | **Building a container image**.\u003cbr /\u003e\u003cbr /\u003e - How to build a container \u003cbr /\u003e [_Link to material_](episodes/03-eda-unsupervised-learning.md) |\n| 15:45 - 17:00\t| **Distribute online** \u003cbr /\u003e\u003cbr /\u003e - What are the available options (DockerHub, GitHub) \u003cbr /\u003e [_Link to material_](episodes/04-supervised-learning.md) |\n| 17:00\t| Closing, discussion and feedback|\n\n\n#### Day 2\n\n| Time  |  Details |\n|--------|----------|\n| 09:00 - 09:30\t| **Welcome back and Q\u0026A**. \u003cbr /\u003e \u003cbr /\u003e - Recap of Day 1  \u003cbr /\u003e - Setting up for Day 2 \u003cbr /\u003e [_Link to material_](episodes/setup.md) |\n| Part I: Basics of Workflow Languages | |\n| 09:30 - 10:45\t| **Intro to workflows**. \u003cbr /\u003e\u003cbr /\u003e - Syntax and structure of CWL \u003cbr /\u003e [_Link to material_](episodes/01-intro.md)\n| 11:00 - 12:30\t| **Writing a CWL in YAML**.\u003cbr /\u003e\u003cbr /\u003e - Examples of tool definitions in CWL \u003cbr /\u003e [_Link to material_](episodes/02-bioinformatics-and-ml.md) |\n| Part II: Hands-on | |\n| 13:30 - 14:45 | **Combining tools in a workflow**.\u003cbr /\u003e\u003cbr /\u003e - Building a complete workflow in CWL \u003cbr /\u003e [_Link to material_](episodes/03-eda-unsupervised-learning.md) |\n| 15:00 - 16:30\t| **Deploying a tool on EG-CI** \u003cbr /\u003e\u003cbr /\u003e - Using the ELIXIR-GR e-infrastructure? \u003cbr /\u003e [_Link to material_](episodes/04-supervised-learning.md) |\n| 16:30 - 17:00\t| Closing, discussion and Q\u0026A |\n\n## Registration\n\n**Dates of the workshop**: ~~30-31/03/2020~~  (**Postponed due to COVID-19**)\n\n~~Please **register** to the workshop using this [**form**](https://forms.gle/br9JQ1iqbkYmgFQD6).~~\n\n_Deadline_: ~~Mon 16/03/2020~~ (tba)\n\n_Notifications_: ~~Wed 18/03/2020~~ (tba)\n\n## Venue\n\nNational Infrastructures for Research and Technology (GRNET)\n\nKifisias Avenue 7\n\n115 23, Athens, GR\n\n30-31 March, 2020\n\n\n_For more information, check the GRNET contact page [here](https://grnet.gr/contact-us/)_\n\n## Other examples\n\n_\u003c tba \u003e_\n\n## Sources / References\n\nThe material in the workshop has been based on the following resources:\n\n_\u003c tba \u003e_\n\nRelevant literature includes:\n\n_\u003c tba \u003e_\n\n\n## License\n\n[![License: CC BY 4.0](https://licensebuttons.net/l/by/4.0/88x31.png)](https://creativecommons.org/licenses/by/4.0/)\n\nThis material is made available under the [Creative Commons Attribution 4.0 International license](https://creativecommons.org/licenses/by/4.0). Please see [LICENSE](LICENSE.md) for more details.\n\n## Acknowledgements\n\nThis work has been produced with the support of the RDA Europe Ambassador programme. It  has received funding from the European Union’s Horizon 2020 (H2020) research and innovation programme via the RDA EU 4.0 project  (ref. GA no. 777388).\n\n\n## Citation\n\n_\u003cto be added\u003e_\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffpsom%2Fintro-to-cwl-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffpsom%2Fintro-to-cwl-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffpsom%2Fintro-to-cwl-docker/lists"}