 And now I will talk, explain you how to create a new training materials for the Galaxy training network. So if you go to the training.galaxyproject.org, the tutorials that I will follow now, you can find it in the contributing to the training material, Galaxy training materials. And if you click there, you go to the first tutorial that is called creating a new tutorials and you go through the end-down section. So as you probably know, because you are there, Galaxy is really a great solution to train bioinformatics concept, but not only bioinformatics, because there is numerous bioinformatics tools available, more than 8000 on the toolshade. It can be used by people without any computer science skills in trains and in trains which are to use the technology outlining the available resources and reports that I made available and accessible to research and it's scalable. So in a few years ago, the Galaxy training network decided to set up a new infrastructure to easily deliver Galaxy related training materials. And the idea was to develop really something that is open online and based on the community to provide all these training resources and that can be used Galaxy at the training resources. So we took the inspiration from the software chemistry. If you don't know, I can just recommend you to look at what is Carpentries. It's an amazing training communities. And so we collected everything, all the materials on one GitHub history that is under a Galaxy project and slash training materials. And so we decided for a structure we're focusing on tutorials. So like this is the one you have here with ends on activities for both fitting online self-training. So for people that wants to learn on their own but also for instructors that give workshops. So each tutorials follow the same structures and they usually come with some information that can make that available on different Galaxy instances. So here I will teach you and I will show you how to create a new tutorials by developing a small tutorials. And then we will take small examples for that for creating a tutorials to explain how to retrieve climate data from Copernicus using just one tool, the Copernicus climate data tool. I will extend the different steps to create a tutorials but you may need some extra knowledge that I will just mention and I will point you to interesting resources for that if you need. So for example, it could be great for you to know a bit of GitHub and we developed several some tutorials for that. But if it's not possible, if you don't have the time to learn, if it's too much for you, you can always create the skeleton of the tutorials as I will show you now. And then you can share that skeleton with us and by opening an issue on GitHub or writing us on GitHub or by email. And then we will take care of that. So the first things we need to do when we create a new tutorial is to choose in which topics we want to store these tutorials. So because if we look at the GitHub repository, I can go there. So the GitHub repository where we store all the materials. So here in the repository, everything is stored on the all the materials stored in the topics there and you see the different topics available here. So the first steps when we need to create a new tutorial is to define in which topics we want to store these tutorials. So we have we decided that for that we recommend you to use the category that are done for the toolshed. So we go to the toolshed and you can search for the main tools that are used for your tutorial. So it's then meaning that you know which tools you want to use for your tutorials. And when you do that, the first things you do is to search for these tools. So for example here we know that we want to use Copernicus. So we search for Copernicus. You see that it's the first one here. And then we go to the category there and you see that the category associated to that tools is called climate analysis here. So it's a and we can compare we can check if there is a climate topic available here and we see that there is already one climate topic available. So the tutorial that we plan to develop will be in the topic climate. If your tools are different categories, then it's possible that it's so you have across different categories or if the topic is not available on there. You can ask us on Gitter or you can raise an issue to explain the aim of it. And if it's not clear for you, you can ask us on Gitter or Github. And we will be happy to help you defining the best topic for your for your tutorial there. And if you need really a new topic because none of the topics are fitting really, we have created a tutorial to explain how to create a new topic there. So currently, so we know that here it's climate analysis and we can we can see there we need we we have already a climate topic available. So now, so for each topic, so if we go in the climate, we can see that we have different folder for the climate, climate topics, and we have one that is called tutorials. And so it's where we store the different tutors so one folder per tutorials. And and then in the tutorials, you see that you have a tutorial that MD file, you can have here you don't have any. So you have a big tech file if you want, or you can have also slide dot HTML. And do I have an example, not in this case in this, this topic, but you have also what here you can see so here is the structure of of a topics folder. So with some metadata extra, but then in the tutorial folder here for one tutorial, so you have you cannot you should have yeah, you can have a tutorial that MD slide dot HTML, some file that is called data dash February dot hammer file and a workflow folder with workflow that the GA. So we will focus on the first items. So the tutorial that MD that I will explain you how to generate that it's also optional to have slide dot HTML and some tutorials are only started for example, and no tutorials so it's always possible to and so one things we recommend you is when you create a tutorial is to create first to work for a while, because most of the authors try to follow their approach learning by doing so the idea is to combine both theoretical and practical sections done in Galaxy. So we usually try to follow and reproduce, maybe it's going to be reproducing a paper between specific analysis state by step by running the different tools that are needed to do this analysis. And so the different steps that are taken in the tutorials can be represented at workflow in Galaxy. So before writing the tutorials, it's usually a good practice to get at least a workflow first version of the workflows with a different state that will be run during the tutorials. So this workflow doesn't have to be the latest version, the final version of what will be really done in the tutorials, it's just mostly to get the main steps that will be up in the tutorials. It's also helping you to structure what do you want to teach in your tutorial. So we recommend you to use in your workflow especially for training the tools that are available in the toolsheds. So because if you, for example, use your own Galaxy instance, you may have some tools that are specific to your Galaxy instance, but that cannot be, then it's make this tutorial specific to your Galaxy instance and what we try to store at least in the Galaxy training network is mostly tutorials that can be run on several Galaxy instances. So it's better if the tools are available on the toolshed. So to do, to create your workflow, then you can go to your favorite Galaxy server. So I will go to the European access server. So use galaxy.eu. And I will create my workflow from scratch. So I go to workflow there. And then I create a small workflow with only one step that will be the Copernicus step. So I can, oh, I need to first name the workflow. So it will be workflow for GTN climate, climate tutorial. Okay, I create that. And then as I said, so I want first the Copernicus to be used. So I search for the tool in Copernicus. Sorry for that. Copernicus data source. And then I need one input. So I can add one input data sets here, and that I can connect to my Copernicus. And, and then I can change the name of that. So yeah, it's simple. The input is API requests file. Okay. And then I can save my workflow. And so I follow these different steps. And then what I need to do is also to add, to annotate my, my workflow. So what I do is I need to create something that is in the annotations, I need to put here the name of the tutorial that I will use. So here I will name it retrieve climate. The name will be retrieve, sorry retrieve climate. Data from Copernicus will be in the name of my tutorial. Oh, sorry. So it's not here. So here it's, I need to first click to edit, to add some metadata to my tutorials to my, sorry, to my workflow. I go to edit attributes. And then I need the annotation that is the name of my tutorial that I will use there. And here in the tag, I need to put the name of the topic. So here is climate. So I have now I can save my workflow. And I keep that this way for now. So I created now my workflow for the trainings. The next steps is I have my workflow. I know the main step of my workflow. But now I need some data to run my workflow on to illustrate the different step of my workflow and show the different results that can happen to the comment on them. And for that, though, the data must be informative to illustrate the different steps and the meaning of the different steps, but not too big to take too long waiting time for processing during a workshop. So it's, it's really tricky to, to get the good toy data sets. Because really, we should try to keep the runtimes no more than 50 minutes. It can be more, but then we need to be sure and to comment and, and be sure that the people know about that. But so we are different. So we give you two examples of how you can create a small data set so you can create some scratch so you can maybe get one, for example, getting a 16 sequences blasted against a reference genome. And then you can get some use so you can create from scratch your data sets. Or another thing and that I usually do when I created tutorials is to create a total data set form an existing larger one. So from an existing data set. So I usually try to send the complete workflow that I will use for my teaching. And because most of the time you have some, some, for example, if you do for sequences, when you have a different steps, usually you lose some sequences as a different steps. So what can happen if you do first quality control after the quality control, some reads are removed. So you, you have these steps, different steps of if you do a mapping, some of the read will map some of the read will never map. So usually what I will do is run the full workflow and then extract for each of the other different steps. I extract some of the read that were removed, but also some of the read that passed through the different steps. So there and then I combined that the different levels to get complete workflow that small data sets smaller data that the input ones, but still with meaningful information that will be removed or will be kept at each of the steps. So it's can be quite cumbersome to do that. So it can take really some, a lot of times to find and to do the correct, to identify the correct toy data sets. And because it's a lot of time and energy, we want to reward the people that take this time to create this toy data sets. So what we do, we store all the data sets in Zenodo to get a DIY. So some sort of also way that share. So it's, it's a way to give credit to the people that it's also a good way for us to store the data sets on the long run and then be sure that this data will be always available. So once you're ready to share your toy data sets, so you should store that on Zenodo. So for, for these tutorials I created already for my, on my side, the toy data sets. So I will upload that to, to Zenodo. So how do I do that? So I go to Zenodo, I open the Noodle, I log in with my, I should have log out. So I, I log in with my GitHub account there. And then once I'm there, I can create a new upload. Oops, wrong one. Sorry. It's on the top here. New upload here. And then I can shoot the file that I want to add. So it's only one small file that is called here. And then I start to upload that once I'm done. Then if it's progressive screen or good, then I want to add that to the Galaxy training community. So it's where we store everything. So to be sure that we find all the data set there. Then I'd select which type of data is it. So it's an input data sets. So it's a data sets. I put a title. So I will put training data for Copernicus data retriever training. I put the author. So I would put my name, but anyone that's in my book, but I can add as many people as I want. So I can put my orchids. I always forgot my orchids. So I will not do that now. Then I can add someone else. So I'm, I don't remember affiliation, but it's good. Then you put some description. So here this data needed for the tutorial retriever data from Copernicus. And I can explain where the data come from. This data set is all the data. These data sets come from blah, blah, blah, blah. So if you go, if you look inspecting Zenodo, the different data sets available in the Galaxy training network can give you an inspiration of what to put there. Here you say that you, the access right, open access, the licenses should be the CC, BISO, Creative Common 4.0. And then you can add some funding if you need or something else. You save that. I have an issue with my orchid ID always. I always forgot my orchid ID. Sorry, I need to find my orchid ID here. And I put my orchid ID and then you can save. And once you are saved, you can publish it. You understand that. And then you got a new entry on Zenodo where you can copy the link here and you can get a DOI already there. Okay. And then so we have a workflow. We have data available and now we can create the skeleton of the tutorial. So what is this tutorial.md that we can see here? So if we look at the tutorial.md, you can see that you have on the top. So if you get at the raw data there, you can see that you have some metadata on the top that are interesting for us. It helps us, it helps to build the website and make it looking nicely. So the metadata is what appears mostly there. It's also to say which who are contributing there, what are the time estimation, the learning objective, the links to the nodal, the title of the tutorials. And then the tutorials is written in markdown. So you have markdown and we have some specific formatting to create these boxes like this here that you can see. And you see in the tutorials, so you have these ends on boxes that are the ones that are interesting. So how to get your data into Galaxy, but also how to run the tutorials here, for example, here you have this. So here, for example, you have one exon section where you say use data mesh. So and with the different parameters that can be that needs to be added for the tutorials for the for the step there. And this will be rendered in a nice way. But for that, I think that can be a bit cumbersome because it takes so you need to go to check which parameters you need to format it to the correct way for writing all the table. The different boxes can be it's a it's a can be quite annoying. So we did some lot of work for the Galaxy training network to try to make it that as simple as possible. So what we created is we use the planimo tool that is used for developing tools for Galaxy. And we added some comments to help developing training materials. So these tools are several comments. And the main one is one to help initiating or creating a new trainings or new tutorials based on the workflow. And that will add the different boxes with the different steps for your workflow with the correct parameters. And yes, that's it. And then it will add the workflow in the correct locations in the in the workflow form. And and if you provide the Zenodo link there, you can create also this data library Yaman file. So this data library Yaman file is really interesting because it's it takes the data from it links to the data from Zenodo and can help to to propagate data library on Galaxy. So for example, if we go to to the European Galaxy server, you go to share data data libraries. You can see so if you look for where are there Galaxy, so I can search for GTN. So you have the GTN material here. And for each topics, for example, yeah, you can you can see that the data are there. So we have for assembly, we have the micrograms and we have the all the interesting, not a good the best example, then I will go to transcriptomic then. If you go transcriptomic, if you go to the reference based RNA-seq analysis, you can see that you have all the data set that are needed for your workflow for your for your training that are available there. And we can do automatically filling this data libraries using this data library.yaman file. So I go back to my domain instance. Okay. So how to create a skeleton of your tutorials using this planimo so you could use the command lines if you want to, but we also created a small web server to help to help creating to avoid having to install planimo locally and run that. So how do you do that? So you first need to make your public workflow public. So if you go to workflow, you have your workflow that you just created here for my workflow there. So I need to put it public. So I go there, I click on share. And then I click on make the workflow accessible and publish. And then my workflow will be public. And if you look at the URL, and from any URL where you on which you will manage your workflow, you see that you have that and by ID equals something. And this something is what we call the workflow ID. And we will need this workflow ID later. So you know where to you can find it. So now you can open the web server that we developed that is called PTDK for planimo training development kit. So it can take a bit of time the first time to run because it's it's printing it. And then it generates the skeleton of a new tutorial. So you need to first give it a tutorial name. So I will call it retrieve. Oh no, the tutorial name will be the name of the folder that we will put here. So with the name of this folder here. So here we will put climate, data, retrieval, the name of the tutorials, the title of the ritual. So it's what will appear on the top of the tutorials. And then you need to say in which galaxy instance you developed, you put your public workflow. So currently we get only this three galaxy instance, but we aim to open to more galaxy instance on the long run. So the idea of the workflow, as I mentioned, is the one year. And you can also provide the real tools. I will not do that because currently it's a bit broken. And I don't want to show broken things. So it I will fix that once I'm done. So and then I submit. And what is the same is taking the it's running on the back and creating the skeleton. And once you are done, it's expanding exactly what you need to do afterwards. So first you need to download the archive of the tutorials. And you need to save it. I will save it in this folder. And then you see if you can you open the the the the the archive. So I will extract it here. And you see that you have different things. So you have the tutorial.md, tutorial.bip. So the bip tag that can go to video tutorials. You have a folder with the workflow. And you have the tool, but I will not mention that. And you could open the workflow, the tutorial.md. And I will do that quickly. And you see that you have some metadata that has been, sorry, has been put on the top with the name of the tutorial that you had. Some not the link because we didn't provide it. We with some questions. So things you need to fill now. The contributors and then a first structure of the tutorials with first an introduction, the agenda, the title of the different sections. You see that the first one of the things that things you need to do is to get data and we provide all would be a structure of the defense of the end zone section. Now it looks like so create a new history, get the the data from Zenodo or from the shared data library, rename the data set, check the data types, et cetera, et cetera. And then the title of the new sections where the different steps are appearing. And then you see if you look there that it's extracting the Copernicus, the Copernicus step. And you see that it, okay, it's here in the name of the tool that you need to run with which parameters you need to put. So do you provide as a fine name and what are the inputs that you need to provide? And then you have some extra information there that you can edit later. So we did that. So we did the PTDK. So we generate that. We check the content. And now the question is how we can add that to the Galaxy training materials. So either you do locally, you can clone the repository locally and get the correct structure locally. So we have specific tutorials to explain you how to get to run with the command lines. And we have also figured out lately that we can use a tool that is called Git Pod. So if you go to Git Pod, you can log in with the GitHub. And then you can create a workspace. And you can search for workspace from a specific desktop story. So here with the GitHub, the Galaxy, the training materials from the Galaxy project, then it will take a bit of time to prepare the container. So it will create some sort of a nice interface to interact with the training materials from GitHub. And even to build the website locally to see how it looks like. So I will do that quickly. It just takes a bit of time to build that. And then we will show you how to add the tutorials there. As it's building, you can, as I mentioned already, quickly. So if the workflow, it's not available on the public Galaxy server that is listed. So one of the three that I mentioned, what I recommend you to run is to run the tools, the other command lines locally. So you need to get the ID, you need to get the API key to your Galaxy, to the Galaxy instance. And then you need to get the repository locally. You can even use Git Pod for doing that also. We tried. So you can also run exactly that, but on Git Pod. And then you need to install the planemo with pip install planemo. And then you can generate the skeleton of your tutorials by adapting what I put that here. And same, you don't need the Zenodo link is not mandatory. It's just an example. And then it will add the tutorials at the exact correct location when to do that. So here, Git Pod built. So if you see, we have the same structure as I showed here, directly on GitHub, but on Git Pod. And you see that we have our climate. And we can, we have our tutorials. And here we want to add one folder. So we can click create new folder that with the name of our tutorials. So it's, how did I name that tutorials again? I forgot. And sorry. The name of the tutorial is Copernicus. So I add a folder here that is named that. And then I can add a file inside. So a new file that is called will be tutorial.md. And in this tutorial, then I can copy directly the content that is there and add that here. And you see that you can, you can see it's directly there. And you can change something. So we can add, change your contributors. So, and here it's using the GitHub ID. So my GitHub ID is db2. So I change that. I can change something else, whatever. And I can save that. And then I can run the two, the, I can locally run that. So I can make, so check what's going on. And I have a make serve Git pod here. So make serve Git, oops, sorry. Make serve Git pod. And then it will build the website there inside the GitHub already, inside Git pod. So, when you, while it's building, so as I mentioned, so it's then once you have that already available. So, yeah, we need also to add a new folder with the workflow, so workflow. And inside we need to create a new file that is main workflow.ga. And then in which we can copy the content that we are there. We can open with text editor. We can just copy and pass the workflow directly there. We need also to add a new file that is index.md. And I can copy the content of it's here. Just mention that here. I need to find the better solution to add a full folder directly on Git pod. I just didn't find a good way to do that for now. So it's still installing on Git pod. It's the first time it's a bit taken sometimes because it needs to install some dependencies. But afterwards, if you run that several times, it's faster. Just to mention, so Git pod is a nice tool. You can do that for any GitHub repository. And it's up to 50 hours per month that you can use that. If I'm correct, need to check that again. So you can change. So once you add that, okay, we have the infrastructure there. There. And then you should change the question. You should change the objective there. The key point, adding some content. So a proper introduction to your tutorials. You should then get the different section that you want to do with the different steps that you want to run, et cetera, et cetera. We have dedicated tutorials to explain the different things. And you can check that this creating content in Marbleon tutorials, where we explain everything. So what are the different metadata that we expect you to put? And what are the different possibilities? And with the content, so the different structures, so outright images with captions, but also adding alt text, outright mathematical expression, if you need tables, but also what are the different boxes that we have there? And how you can generate them? And how can you add more of them? So how to also add these links to the tools, et cetera, et cetera, et cetera. So many things that I can find here. So this document is used, this tutorial is used as a documentation for the full auto-writer release tools. So GikBot is still installing everything. So it can take some times. I'm sorry for this. And so once we are done with that, we can put everything on GitHub directly. So here you can afterwards submit your changes. So it's going there. Oops, snippets. So it's sorry, it's snippets. I will think that it will be fixed when you will have run that tutorial. So it's snippets. And if you look, it's FAQ, FAQ serve. It's much faster than before. So now it's building, it's using Jackheap that we use to build the website. And oops, again, snippet. Is it snippet or snippets? I really need to fix this issue. I'm sorry for that. It's snippet without S. So we have this, what we call snippets here. It's a good way to explain that. So these snippets are so small. You can find all the snippet here for FAQ. It's, for example, it's just a small thing that we use several times. Where is it? Snipet. Where is it? Import. So it's to avoid duplication of the contents. What we created is we created this small snippet that can be copy passed, that can be imported from one tutorial to the others. And if we need to update one, we can, it's updating only this small snippet. And then we can, it's updating that for all the tutorials. So you can see here. So here is a snippet. So it's not the easiest one, sorry. Attack here. So it's just a small markdown with some YAML file on the top. And so it's generating the websites and you can see here. So if you click that one here, here, you can see, I need to lower that. And okay. Here you can see you are checking the GitHub, the training materials. And if you go to climate, you should have now your retrieve data from Copernicus, which is such tools we started to develop here. And you see, and you have even the Copernicus looking for it. And so once you are done, you can submit your changes to GitHub. So we created two tutorials to explain you how to contribute to GitHub to submit your changes to GitHub via the interface of the other comment lines. And we will create one quick soon to explain how to contribute directly from GitHub. So it's just information in its ear. You need to create a branch first and then submit your changes. And on that, I hope, yeah, you can also, sorry, add slides. So I mentioned so you have these slides that HTML files that you can come with your tutorials. And we have a dedicated tutorials to explain how to add slides. And then you can do that. So in conclusion, to create a new tutorial. So first, you need to determine the topics where you want to store the tutorials. You need to create a workflow, find a good datasets and upload that to Zenodo, create the skeleton of the tutorials using, you can use the planimo and the server web server for that. Add the skeleton to the training materials, write the content of the tutorials, keep track of the changes using GitHub, add slide if you want and submit everything to GitHub to GitHub as a pull request. And once it's merged, then it will be available as these tutorials online to you. And we created just to make it quicker for the next time, yeah, a summary step by step. And on that, I would like to thank you and