UoMResearchIT / docker-introduction

An introduction to Docker in the style of the Software Carpentries
https://uomresearchit.github.io/docker-introduction/
Other
0 stars 0 forks source link

Generate learner profiles #22

Closed OliverWoolland closed 1 month ago

douglowe commented 1 year ago

User 1

Jason is an early-career researcher, working on a systematic method of classifying fungi. He has a set of classification questions which lead to the identification of the correct fungi species, and he would like to share this method with the general public. The ideal tool for this would be a web-service - so he would like to be able to setup and deploy such a service. His questions are specific to UK fungi, but he has ambitions to set up similar services in other countries. For this he would like to be able to separate out the logic tool from the database that it will consult, so that he can make specific databases for each country he has extended the service to, rather than include every species in one database, and risk users identifying a specimen as a species which is not native to the country they are in.

Jason has some experience using linux and creating basic web pages. After following this tutorial he will be able to create basic docker containers for both his database and his web service, and to enable the sharing of data between the two of these so he can create his prototype web service.

User 2

Sam is a research software engineer, supporting the development and use of a molecular dynamics simulation package at a materials science laboratory. The tool is written mostly in C and fortran code, some of it quite historic, and has a large number of dependencies which need to be pre-compiled before installing the software package. The head of the laboratory would like other researchers to use their simulation package, but this complexity of setup has hampered the uptake of the tool. Sam has been tasked with packaging the tool so that it is easily installable across a range of platforms, from cloud to HPC systems. Because performance will be critical on HPC systems, this packaging should be as lightweight as possible. In addition, keeping the package size small will be important for cloud systems.

Sam has extensive experience of shell scripting and working on linux systems. After following this tutorial she should be able to create a docker container which contains only the required compiled package and it's dependencies. She should be able to publish this container so that it is publically accessible. And she should also understand how to run this container on a HPC system using another container system (such as Singularity).

User 3

Helen is a PhD student in a bioinformatics lab. She has been given a set of tools and scripts by her supervisor, which can be used to carry out the analysis workflow that she needs for carrying out her research. However she is finding it difficult to install all the required tools on her personal computer in order to use this workflow. She has been told that some of the tools are available as docker containers already, but she is not sure quite where these are, and how she might incorporate them into her workflow.

Helen has some linux experience, but is not very familiar with coding. After following this tutorial she should be able to locate and access existing docker containers, as well as being able to create basic containers which contain the scripts which aren't already containerised. She will also have been introduced to the concept of workflows, be aware of how to create tool descriptors for two commonly used systems (CWL and galaxy?), and know what training material to follow next for developing workflows in these systems.

OliverWoolland commented 1 year ago

@nigeldgreen to review