Okay, good afternoon everyone.
We are happy to introduce our project here.
We are part of Galaxy Europe project and who we are.
I am Polina and I am PhD student with Galaxy and my colleague Mira is US Galaxy EU administrator.
And we will split our talk into parts.
I will talk more focused on research and how to use Galaxy for research.
And Mira then will talk more about technical details.
What is Galaxy?
Galaxy is a platform for data analysis.
Basically it's free and open source and there are almost 10,000 tools in Galaxy toolshed for data analysis.
It is cited in more than 11,900 papers and there are extensive tutorials for data analysis that you can do with Galaxy as a researcher.
And this is cross-domain platform.
It is usually used in bioinformatics but it can be also used and it is used already in chemistry, ecology, climate science and astrophysics and more.
There are multiple interfaces that Galaxy can offer.
There is intuitive graphical user interface for researchers and there is also a unified open API for more advanced users.
And what is Galaxy for?
So if you are a researcher then one main advantage of Galaxy is the graphical user interface.
So here is the main window of Galaxy and on the left side you see the list of tools.
I repeat that there are almost 10,000 tools implemented into Galaxy that you can use with this graphical user interface.
And for researchers and data scientists it is always the question how to organize your data.
And Galaxy provides this concept of history.
History is the directory that contains all your inputs, outputs, all your tools that you use for your data analysis and its parameters and more.
And you can also do as many researchers in parallel as you want because Galaxy also provides this feature of multiple histories that you can use in parallel and switch between them easily.
And yeah, that's cool, that runs.
There is a short presentation of how it works for bioinformatics tools.
So here we make a short analysis of biological data with very basic bioinformatics tools such as FASTQC,
which is actually the tool for quality control of FASTQC data.
And so we can see now we use another tool for bioinformatics to adapt and you can see in the main window that we can advantage from this graphical interface.
So usually these tools are command line tools and Galaxy provides you graphical interface that you can easily use if you are not familiar with command line.
And yeah, finally you have your outputs on the right panel in your history.
And as I already said that usually all these tools that Galaxy can provide user interface for are command line tools.
And if you want to be more focused on research, you don't want to learn this command line and then Galaxy provides this.
So you can, all the parameters that you need to set in command line you can set in more visual way.
Another question that is important for researchers is reproduce your research.
And Galaxy can also provide this. This is like the small demo of how to reproduce your analysis with clicking one button.
Or you can also analyze your data in one go.
So for this Galaxy provides you workflow feature that you can create your workflow which looks like the sequence of tools in a visual graphic interface.
And then you can use this workflow.
And here is a short video of how we use this workflow editor in Galaxy to create our own workflow.
So here is on the left panel we choose the input.
Then we set the name of this input.
Then we choose any tools that we want to use for our analysis.
And we set them in the order and we can use the output of one tool as input of another tool.
And yeah, in this way we create a workflow.
It can be more complicated of course.
And here is another video of how exactly we can use this workflow that we just created.
So first of all we need to upload data into our history.
For this Galaxy have different options.
So we can upload them from local computer, from cloud, from external resources or other ways.
And yeah, here we found the workflow from the list of our workflows.
And we ran it by clicking one button.
And then in our history we have our output.
And Galaxy also provides to researchers different ways to visualize your data.
And also this is also very important to share in research.
So Galaxy can provide you different options to share your histories, your workflows,
your visualizations, your data.
And you can choose to share it with specific users,
with your community or make it published and available for everybody.
And yeah, this is not only what I showed you.
Galaxy can do, Galaxy can do many things that are supposed to be in a data lifecycle.
And now I will give a word to my colleague.
Hey, so you are now a bit overwhelmed.
I think that's quite normal.
But I have good news for you.
Galaxy has its own training network.
And it's made for self-study.
It has step-by-step learning paths, videos, interactive tutorials,
and covers topics for everyone.
For students, for developers, and even for administrators.
And we host worldwide training events where hundreds of instructors in all time zones
are there to answer your questions.
Now I will go more into technical detail, but first I show you which Galaxy servers are available.
There's three large instances that provide a lot of compute power to the public.
One in Australia, one in Europe, which I administrate and one in the US.
But there are also many more domain-specific and national Galaxy servers,
as well as hundreds of small-scale deployments.
And with a few clicks, you can easily host your own Galaxy server.
Now if you decided to host your own Galaxy server, where do you get the tools from?
Is there kind of an app store?
Yes, there's an app store, but we call it toolshed because you cannot buy anything and it's open sourced.
But you can share all the tools if you like.
And the toolshed currently has more than 9,700 tools of various scientific domains,
mainly bioinformatics, but also other communities.
And there's a curated selection and it covers also interactive research environments,
such as your Jupiter notebooks.
And if you wonder how these tools are shown in Galaxy, because they are usually all
command-line tools, as was mentioned, there's no magic behind it.
Every tool has a corresponding XML file that describes its parameters, its inputs and outputs.
And there's even a tool for rapid development, which is called Planimo,
and that makes it quite easy to contribute.
But if you do research, you want to have every experiment reproducible,
and this is why each version of a tool should have a fixed set of packages it depends on.
And you already saw that there was a requirements version in the wrapper,
and Galaxy can use dependence resolvers like Konda, but also can run tools in
so-called multi-containers that are described by a unique hash for a set of fixed dependencies.
And this way, every tool is reproducible in all Galaxy servers around the world.
Okay, let's assume you found a server and you found your favorite tool,
and you want to start a job. How does it actually work?
So your web client is communicating to a whiskey-compatible Python web server
that responds to your request and creates a job in the database,
but then there are Galaxy job handlers that pick up your job and create kind of a script,
like a bash script, and submit that script to a cluster and then monitor its status.
And once the state changes, it will be mirrored in the database and then
also sent back to your client. And which compute environments can we actually use?
So we can use large HPC clusters, for example, running Kubernetes,
HG Condor, SLAM, or many others, but we can also use remote compute resources
with POSA, which is a small Python server application that is developed in the Galaxy
project. And if you don't have such a HPC cluster, you can also run it on your laptop
or even on a Raspberry Pi. But if you want to scale it to 10,000 of users,
then you, of course, can have a more complex setup. This is the setup I administrated at you,
and yeah, maybe you have a look, but I will not explain everything in detail.
We have an OpenStack Cloud with about 8,000 cores and 42 terabyte of memory.
But how can you contribute to Galaxy now? So you saw the tool wrappers. If you have a tool you
want to be implemented in Galaxy, you can just write your wrapper and open a pull request.
And also you can contribute to the source code, which is on GitHub. You can contribute training
material, your scientific workflows, or other resources. For example, if you have an HPC cluster,
you can spin up a POSA endpoint and contribute compute resources. Yeah, I want to thank you for
your attention. And if you want to keep in touch, we are in Matrix, Master Done, and GitHub, and
we will stay here a few more minutes to answer your questions.
One question, Tassel.
Do you have a success story for people using your platform?
Do you have a success story?
Yeah, you did your masters, right?
Yeah, I did my master.
Just take the question.
Okay, the question is a success story of how people are using. So many researchers use Galaxy for
their research and many biologists. And so I also used it for my master project. And yeah,
I wrote master thesis and all made with Galaxy. So this is my own success story.
Miss Bernice.
All right. Sorry, folks. We do have to wrap up and move to the next speaker. Thank you, everyone.
Thank you.