Frequently Asked Questions
Galaxy is an open data integration and analysis platform for the life sciences, and it is particularly well-suited for data analysis training in life science research.
This website is a collection of hands-on tutorials that are designed to be interactive and are built around Galaxy:
We provide some QR codes and logos in the images folder.
There are two distinct audiences for these materials.
- Self-paced individual learners. These tutorials provide everything you need to learn a topic, from explanations of concepts to detailed hands-on exercises.
- Instructors. They are also designed to be used by instructors in teaching/training settings. Slides, and detailed tutorials are provided. Most tutorials also include computational support with the needed tools, data as well as Docker images that can be used to scale the lessons up to many participants.
We wrote an article about our efforts.
To cite individual tutorials, please find citation information at the end of the tutorial.
The content of this website is licensed under the Creative Commons Attribution 4.0 License.
These tutorials can be used for learning and teaching how to use Galaxy for general data analysis, and for learning/teaching specific domains such as assembly and differential gene expression analysis with RNA-Seq data.
If you have questions about this training material, you can reach us using the Gitter chat. You’ll need a GitHub or Twitter account to post questions. If you have questions about Galaxy outside the context of training, see the Galaxy Support page.
If you are new to Galaxy then start with one of the introductory topics. These introduce you to concepts that are useful in Galaxy, no matter what domain you are doing analysis in.
If you are already familiar with Galaxy basics and want to learn how to use it in a particular domain (for example, ChIP-Seq), then start with one of those topics.
If you are already well informed about bioinformatics data analysis and you just want to get a feel for how it works in Galaxy, then many tutorials include Instructions for the impatient sections.
To run the hands-on tutorials you need a Galaxy server to run them on.
Each tutorial is annotated with information about which public Galaxy servers it can be run on. These servers are available to anyone on the world wide web and some may have all the tools that are needed by a specific tutorial.
If your organization/consortia/community has its own Galaxy server, then you may want to run tutorials on that. You will need to confirm that all necessary tools and reference genomes are available on your server and possible install missing tools and data. To learn how to do that, you can follow our dedicated tutorial.
Some topics have a Docker image that can be installed and run on participants’ laptops. These Docker images contain Galaxy instances that include all tools and datasets used in a tutorial, as well as saved analyses and repeatable workflows that are relevant. You will need to install Docker.
Finally, you can also run your tutorials on cloud-based infrastructures. Galaxy is available on many national research infrastructures such as Jetstream (United States), GenAP (Canada), GVL (Australia), CLIMB (United Kingdom), and more. These instances are typically easy to launch, and easy to shut down when you are done.
Many topics include slide decks and if the topic you are interested in has slides then start there. These will introduce the topic and important concepts.
Most of your learning will happen in the next step - the hands-on tutorials. This is where you’ll become familiar with using the Galaxy interface and experiment with different ways to use Galaxy and the tools in Galaxy.
We started to collect some best practices for instructors inside our Good practices slides
To teach the hands-on tutorials you need a Galaxy server to run the examples on.
Each tutorial is annotated with the information on which public Galaxy servers it can be run. These servers are available to anyone on the world wide web and some may have all the tools that are needed by a specific tutorial. If you choose this option then you should work with that server’s admins to confirm that think the server can handle the workload for a workshop. For example, the usegalaxy.eu
If your organization/consortia/community has its own Galaxy server, then you may want to run tutorials on that. This can be ideal because then the instance you are teaching on is the same you your participants will be using after the training. They’ll also be able to revisit any analysis they did during the training. If you pursue this option you’ll need to work with your organization’s Galaxy Admins to confirm that
- the server can support a room full of people all doing the same analysis at the same time.
- all tools and reference datasets needed in the tutorial are locally installed. To learn how to setup a Galaxy instance for a tutorial, you can follow our dedicated tutorial.
- all participants will be able to create/use accounts on the system.
Some training topics have a Docker image that can be installed and run on all participants’ laptops. These images contain Galaxy instances that include all tools and datasets used in a tutorial, as well as saved analyses and repeatable workflows that are relevant.
Finally, you can also run your tutorials on cloud-based infrastructures. Galaxy is available on many national research infrastructures such as Jetstream (United States), GenAP (Canada), GVL (Australia), CLIMB (United Kingdom), and more.
The support channel for instructors is the same as for individual learners. We suggest you start by posting a question to the Galaxy Training Network Gitter chat. Anyone can view the discussion, but you’ll need to login (using your GitHub or Twitter account) to add to the discussion.
If you have questions about Galaxy in general (that are not training-centric) then there are several support options.
Spend some time exploring the different tutorials and the different resources that are available. Become familiar with the structure of the tutorials and think about how you might use them in your teaching.
First off, thanks for your interest in contributing to the Galaxy training materials!
Individual learners and instructors can make these training more effective by contributing back to them. You can report mistakes and errors, create more content, etc. Whatever is your background, there is a way to contribute: via the GitHub website, via command-line or even without dealing with GitHub.
We will address your issues and/or assess your change proposal as promptly as we can, and help you become a member of our community. You can also check our tutorials for more details.
If you would like to get involved in the project but are unsure where to start, there are some easy ways to contribute which will also help you familiarize yourself with the project.
1. Checking existing tutorials
A great way to help out the project is to test/edit existing tutorials. Pick a tutorial and check the contents. Does everything work as expected? Are there things that could be improved?
Below is a checklist of things to look out for to help you get started. If you feel confident in making changes yourself, please open a pull request, otherwise please file an issue with any problems you run into or suggestions for improvements.
- Test the tutorial on a running Galaxy instance
- Language editing
- Fix spelling and grammar mistakes
- Simplify the English (to make it more accessible)
- Are the objectives, keypoints and time estimate filled in?
- Do they fit with the contents of the tutorial?
- Is there enough background information provided in the introduction section and throughout the tutorial?
- Question boxes
- Add questions or question boxes where you think they might be useful (make people think about results they got, test their understanding, etc)
- Check that answers are still up-to-date
- Screenshots and Videos
- Make sure there is also a textual description of the image/video contents
- Does the screenshot add value to the tutorial or can it be removed?
- Add a workflow definition file
.gaif none is present
- Check that the existing workflow is up-to-date with the tutorial contents
- Enable workflow testing
- Add a workflow definition file
- Add a tour if none exists
- Run the existing tour and check that it is up-to-date with the tutorial contents
- Check that all datasets used in the tutorial are present in Zenodo
- Add a data-library.yaml file if none exists
2. Reviewing pull requests
Another great way to help out the project is by reviewing open pull requests. You can use the above checklist as a guide for your review. Some documentation about how to add your review in the GitHub interface can be found here
Most of the content is written in GitHub Flavored Markdown with some metadata (or variables) found in YAML files. Everything is stored on our GitHub repository. Each training material is related to a topic. All training materials (slides, tutorials, etc) related to a topic are found in a dedicated directory (e.g.
transcriptomics directory contains the material related to transcriptomic analysis). Each topic has the following structure:
- a metadata file in YAML format
- a directory with the topic introduction slide deck in Markdown with introductions to the topic
a directory with the tutorials:
Inside the tutorials directory, each tutorial related to the topic has its own subdirectory with several files:
- a tutorial file written in Markdown with hands-on
- an optional slides file in Markdown with slides to support the tutorial
- a directory with Galaxy Interactive Tours to reproduce the tutorial
- a directory with workflows extracted from the tutoria
- a YAML file with the links to the input data needed for the tutorial
- a YAML file with the description of needed tools to run the tutorial
- a directory with the Dockerfile describing the details to build a container for the topic (self-study environments).
- Create a fork of this repository on GitHub
- Clone your fork of this repository to create a local copy on your computer and initialize the required submodules (
git submodule initand
git submodule update)
- Create a new branch in your local copy for each significant change
- Commit the changes in that branch
- Push that branch to your fork on GitHub
- Submit a pull request from that branch to the original repository
- If you receive feedback, make changes in your local clone and push them to your branch on GitHub: the pull request will update automatically
- Pull requests will be merged by the training team members after at least one other person has reviewed the Pull request and approved it.
Globally, the process of development of new content is open and transparent:
- Creation of a branch derived from the main branch of the GitHub repository
- Initialization of a new directory for the tutorial
- Filling of the metadata with title, questions, learning objectives, etc
- Generation of the input dataset for the tutorial
- Filling of the tutorial content
- Extraction of the workflows of the tutorial
- Automatic extraction of the required tools to populate the tool file
- Automatic annotation of the public Galaxy servers
- Generation of an interactive tour for the tutorial with the Tourbuilder web-browser extension
- Upload of the datasets to Zenodo and addition of the links in the data library file.
- Once ready, opening a Pull Request
- Automatic checks of the changes are automatically checked for the right format and working links using continuous integration testing on Travis CI
- Review of the content by several other instructors via discussions
- After the review process, merge of the content into the main branch, starting a series of automatic steps triggered by Travis CI
- Regeneration of the website and publication on https://training.galaxyproject.org/archive/2021-09-01/
- Generation of PDF artifacts of the tutorials and slides and upload on the FTP server
- Population of TeSS, the ELIXIR’s Training Portal, via the metadata
To learn how to add new content, check out our series of tutorials on creating new content:
- Overview of the Galaxy Training Material
- Adding auto-generated video to your slides
- Contributing with GitHub via command-line
- Contributing with GitHub via its interface
- Creating a new tutorial
- Creating content in Markdown
- Creating Interactive Galaxy Tours
- Creating Slides
- Generating PDF artefacts of the website
- Including a new topic
- Running the GTN website locally
- Running the GTN website online using GitPod
- Tools, Data, and Workflows for tutorials
- Updating diffs in admin training
We also strongly recommend you read and follow The Carpentries recommendations on lesson design and lesson writing if you plan to add or change some training materials, and also to check the structure of the training material.
Check our tutorial to learn how to use the GitHub interface (soon…)
At the end of each tutorial, there is a link to a feedback form. We use this information to improve our tutorials.
The easiest way to start contributing is to file an issue to tell us about a problem such as a typo, spelling mistake, or a factual error. You can then introduce yourself and meet some of our community members.
Perhaps you’ve been asked to review an interactive tour, or maybe you just want to try one out. The easiest way to run an interactive tour is to use the Tour builder browser extension.
- Install the Tour Builder extension to your browser (Chrome Web Store, Firefox add-on).
- Navigate to a Galaxy instance supporting the tutorial. To find which Galaxy instances support each tutorial, please see the dropdown menu next to the tutorial on the training website. Using one of the usegalaxy.* instances (Galaxy Main, Galaxy Europe, or Galaxy Australia) is usually a good bet.
- Start the Tour Builder plugin by clicking on the icon in your browser menu bar
- Copy the contents of the
tour.yamlfile into the Tour builder editor window
If you feel uncomfortable with using the git and the GitHub flow, you can write a new tutorial with any text editor and then contact us (via Gitter or email). We will work together to integrate the new content.
Writing bug reports is a good skill to have as bioinformaticians, and a key point is that you should include enough information from the first message to help the process of resolving your issue more efficient and a better experience for everyone.
What to include
- Which commands did you run, precisely, we want details. Which flags did you set?
- Which server(s) did you run those commands on?
- What account/username did you use?
- Where did it go wrong?
- What were the stdout/stderr of the tool that failed? Include the text.
- Did you try any workarounds? What results did those produce?
- (If relevant) screenshot(s) that show exactly the problem, if it cannot be described in text. Is there a details panel you could include too?
- If there are job IDs, please include them as text so administrators don’t have to manually transcribe the job ID in your picture.
It makes the process of answering ‘bug reports’ much smoother for us, as we will have to ask you these questions anyway. If you provide this information from the start, we can get straight to answering your question!
What does a GOOD bug report look like?
The people who provide support for Galaxy are largely volunteers in this community, so try and provide as much information up front to avoid wasting their time:
I encountered an issue: I was working on (this server> and trying to run (tool)+(version number) but all of the output files were empty. My username is jane-doe.
Here is everything that I know:
- The dataset is green, the job did not fail
- This is the standard output/error of the tool that I found in the information page (insert it here)
- I have read it but I do not understand what X/Y means.
- The job ID from the output information page is 123123abdef.
- I tried re-running the job and changing parameter Z but it did not change the result.
Could you help me?
Yes, always! Have a look at the Galaxy Community Events Calendar for what coming up right now.
This repository is hosted on GitHub using git as a DVCS. Therefore the community is hosting backups of thisrepository in a decentralised way. The repository is self-contained and contains all needed content and all metadata.In addition we mirror snapshops of this repo on Zenodo.