# tutorials

topic: digital-humanities
tutorial: open-refine-tutorial
title: OpenRefine Tutorial for researching cultural data
difficulty: introductory
time_estimation: 2H
tools_json: []
requirements_json: ["type: internal"]
tags_json: []
content_hash: 40a4675a612cbdf3d06e97fd00dbc32e
last_modified: 2026-02-26T21:12:15.217392
zenodo_link: https://doi.org/10.5281/zenodo.17047254
workflows_json: []
url:
https://training.galaxyproject.org/training-material/topics/digital-humanities/tutorials/open-refine-tutorial/tutorial.html

content:
This tutorial shows how to use **OpenRefine** in Galaxy to clean and visualize data from the **humanities and social sciences**. It has two parts:
- **Introduction to OpenRefine**, based on {% cite Hooland_2013 %} and adapted for Galaxy.
- **Introduction to running Galaxy workflows** to visualize cleaned data and extract specific information.


## What is OpenRefine?

**OpenRefine** is a free, open-source “data wrangler” built for messy, heterogeneous, evolving datasets. It imports common formats (CSV/TSV, Excel, JSON, XML) and domain-specific ones used across GLAM (Galleries, Libraries, Archives and Museums) and official statistics (MARC, RDF serializations, PC-Axis).

It is **non-destructive**—OpenRefine does not alter your source files, but works on copies and saves projects locally. Facets and filters enable you to audit categories, surface outliers, and triage inconsistencies without writing code. Its **clustering** tools consolidate near-duplicates using both key-collision methods (fingerprint, n-gram, phonetic) and edit-distance/nearest-neighbour methods (Levenshtein, PPM) so you can standardize names and places at scale while keeping human oversight.

For enrichment, OpenRefine speaks the **Reconciliation API** to match local values to external authorities (e.g. **Wikidata**, **ROR**) and, optionally, retrieve richer metadata. Transformations—both point-and-click and **GREL** formulas—are recorded as a stepwise, undoable history that you can export as JSON and re-apply to other datasets, enabling reproducible cleaning and easy peer review. Finished tables can be exported cleanly to **CSV/TSV**, ODS/XLS(X), SQL statements, templated JSON, Google Sheets, or can be exported back to Galaxy.

## From Cleaning to Analysis in Galaxy

Once your dataset has been cleaned with OpenRefine, you often want to analyze it further or visualize specific aspects. This is where **Galaxy Workflows** become essential: they enable you to build reproducible pipelines that operate on your curated data, transitioning from one-off cleaning to structured analysis.

## What are Galaxy Workflows?

**Galaxy Workflows** are structured, step-by-step pipelines that you build and run entirely in the browser—either extracted from a recorded analysis *history* or assembled in the visual editor. They can be annotated, shared, published, imported, and rerun, making them ideal for teaching, collaboration, and reproducible research.

A captured analysis is easy to share: export the workflow as JSON (**`.ga`**: tools, parameters, and Input/Output) or export a provenance-rich run as a **[Workflow Run RO-Crate](https://www.researchobject.org/workflow-run-crate/)** bundling the definition with inputs, outputs, and invocation metadata. This lowers the barrier to entry (no local installs; web User-Interface (UI) with pre-installed tools and substantial compute) while preserving best practices (histories track tool versions and parameters; workflows are easily re-applied to new data).

For findability and credit, the community uses **[WorkflowHub](https://workflowhub.eu/)**—a curated registry that supports multiple workflow technologies (including Galaxy) and promotes **FAIR** principles; it offers Spaces/Teams, permissions, versioning, and **DOIs via DataCite**, with metadata linking to identifiers like **[ORCID](https://orcid.org/)** so contributions enter scholarly knowledge graphs and are properly acknowledged.

In practice, you can iterate on a workflow in a familiar Graphic-User-Interface (GUI), export the exact definition or a run package, and deposit it where peers can discover, reuse, review, and cite it—closing the loop between simple authoring and robust scholarly dissemination.


> <agenda-title></agenda-title>
>
> In this tutorial, we will cover:
>
> 1. TOC
> {:toc}
>
{: .agenda}

# Hands on: Get the data

We will work with a slightly adapted dataset from the **[Powerhouse Museum](https://powerhouse.com.au/)** (Australia’s largest museum group) containing a metadata collection. The museum shared the dataset online before giving API access to its collection. We slightly adapted the dataset and uploaded it to Zenodo for long-term reuse. The tabular file (**36.4 MB**) includes **14 columns** for **75,811** objects, released under a **[Creative Commons Attribution Share Alike (CCASA) license](http://creativecommons.org/licenses/by-nc/2.5/au/)**. We will answer three questions: From **which category** does the museum have the most objects? From **which year** does the museum have the most objects? And **what objects does the museum have from that year?**

**Why this dataset?** It is credible, openly published, and realistically messy—ideal for practising problems scholars encounter at scale. Records include a **Categories** field populated from the **Powerhouse Museum Object Names Thesaurus (PONT)**, a controlled vocabulary reflecting Australian usage. The tutorial deliberately surfaces common quality issues—blank values that are actually stray whitespace, duplicate rows, and multi-valued cells separated by the pipe character `|` (including edge cases where **double pipes** `||` inflate row counts)—so we can practice systematic inspection before any analysis. Without careful atomization and clustering, these irregularities would bias statistics, visualizations, and downstream reconciliation.

We suggest that you download the data from the Zenodo record as explained below. This helps us with the reproducibility of the results.

> <hands-on-title>Upload your data</hands-on-title>
>
> 1. Create a new history for this tutorial and name it "Powerhouse Museum — OpenRefine"
> 2. Import the files from [Zenodo]({{page.zenodo_link}}):
>
>    ```
>    https://zenodo.org/records/17047254/files/phm_collection_adapted.tsv
>    https://zenodo.org/records/17047254/files/stopwords-en.txt
>    ```
>
>    {% snippet faqs/galaxy/datasets_import_via_link.md %}
>
>    {% snippet faqs/galaxy/datasets_import_from_data_library.md %}
>
> 3. Ensure that the datatype of "phm_collection_adapted" is "tsv". Otherwise, use convert datatype.
> 4. Verify that the datatype of "stopwords-en" is "txt". If not, convert the datatype.
>
>    {% snippet faqs/galaxy/datasets_change_datatype.md datatype="datatypes" %}
>
{: .hands_on}

In this first part, we will focus on working with the metadata from the Powerhouse Museum. 

# Use OpenRefine to explore and clean your dataset

Access OpenRefine as an interactive tool in Galaxy and explore your data.

## Start OpenRefine

> <hands-on-title>Opening the dataset with OpenRefine</hands-on-title>
>
> 1. Open the tool {% tool [OpenRefine](interactive_tool_openrefine) %}: Working with messy data
>    - *"Input file in tabular format"*:  `openrefine-phm-collection.tsv`
>
> 2. Click on "Run Tool".
>
>    ![OpenRefine tool interface in Galaxy](images/openrefine.png)
>
> 3. After around 30 seconds, a red dot appears over the interactive tools section on the left panel. Click on "interactive tools". A new window opens. Make sure to wait until you see the symbol with an arrow pointing outside the box, which indicates that you can start OpenRefine in a new tab. Now you can open OpenRefine by clicking on its name.
>
>    ![Open OpenRefine tool as an Interactive tool](images/interactive_tools.png)
>
> 4. Here, you can see the OpenRefine GUI. Click on `Open Project`.
>
>    ![Open OpenRefine interface](images/openrefine_interface.png)
>
> 5. Click on `Galaxy file`. If the file does not appear, you may have started OpenRefine before it was fully loaded. Retry steps 3 and 4, and the file should be visible.
>
>    ![Open OpenRefine Open Project as an input](images/openrefine_open_project.png)
>
> 6. You can see the data that has been loaded for you.
>
>    ![Open OpenRefine GUI](images/openrefine_gui.png)
>
{: .hands_on}

> <question-title></question-title>
>
> 1. How many rows does this table have?
>
> > <solution-title></solution-title>
> >
> > 1. 75809
> >
> {: .solution}
{: .question}

Great, now that the dataset is in OpenRefine, we can start cleaning it.

## Remove duplicates

In large datasets, errors are common. Some basic cleaning exercises can help enhance the data quality. One of those steps is to remove duplicate entries. 

> <hands-on-title>Removing duplicates</hands-on-title>
>
> 1. Click on the triangle on the left of `Record ID`.
>
>    ![Sort Record ID](images/sort.png)
>
> 2. Click on `Sort...`.
>
> 3. Select `numbers` and click on `OK`.
>
>    ![Sort Record ID options](images/sort2.png)
>
> 4. Above the table, click on `Sort` and select `Reorder rows permanently`.
>
>    ![Sort Record ID reorder permanently](images/sort3.png)
>
> 5. Click on the triangle left of the `Record ID` column. Hover over `Edit cells` and select `Blank down`.
>
>    ![Blank down Record ID](images/sort4.png)
>
> 6. Click on the triangle left of the `Record ID` column. Hover over `Facet`, then move your mouse to `Customized facets` and select `Facet by blank (null or empty string)`.
>
>    ![Facet by blank Record ID](images/sort5.png)
>
> 7. On the left, a new option appears under `Facet/Filter` with the title `Record ID`. It shows two choices, `true` and `false`. Click on `true`.
>
>    ![Facet by blank true Record ID](images/sort6.png)
>
> 8. Click on the triangle to the left of the column called `All`. Hover over `Edit rows`, and select `remove matching rows`.
>
>    ![Remove matching rows Record ID](images/deduplicate.png)
>
> 9. Close the `Record ID` under `Facet/Filter` by clicking on the cross (x) to see all rows.
>
{: .hands_on}

> <question-title></question-title>
>
> 1. How many rows have been removed?
>
> > <solution-title></solution-title>
> >
> > 1. 84
> >
> {: .solution}
{: .question}

The dataset no longer contains duplicates based on the Record ID. However, we need to perform further cleaning to enhance the dataset.

## Use GREL

There are many ways to manipulate your dataset in OpenRefine. One of them is the Google Refine Expression Language (GREL). With the help of GREL, you can, for example, create custom facets or add columns by fetching URLs. We will use it to find and replace errors. For more information, refer to the [GREL documentation](https://openrefine.org/docs/manual/expressions).

Take a look at the `Categories` column of your dataset. Most objects were attributed to various categories, separated by "\|". However, several fields contain "\|\|" instead of "\|" as a separator. We want to unify those.

> <hands-on-title>Find and replace typos using GREL</hands-on-title>
>
> To remove the occurance of double pipe "\|\|" from the file we can do the following:
> 1. Click on the triangle on the left of `Categories` and select `Text filter`.
> 2. On the left, using the `Facet/Filter` section, search for the occurrence of \| and \|\|. There are 71061 rows with "\|" and 9 rows with "\|\|". We would like to remove these nine lines, as they were added by mistake.
> 3. Click on the triangle on the left of `Categories`, hover over `Edit cells`, and click on `Transform...`.
> 4. In the new window, use the following text `value.replace('||', '|')` as "Expression" and click on `OK`.
>
>    ![Custom text transform on column Categories](images/filter_grel3.png)
>
>    The expression replaces \|\| with \|. If you search for the occurrence of \|\| again, you will no longer get any results. 
>
>    Many different categories describe the object. You may notice duplicates categorising the same object twice.
>    We also want to remove those to ensure we only have unique categories that describe a single object.
>
> 5. Click on the triangle on the left of `Categories`, hover over `Edit cells`, and click on `Transform...`.
>
>    ![Edit cells Categories](images/filter_grel.png)
>
>    ![Transform Categories](images/filter_grel2.png)
>
> 6. In the new window, use the following text `value.split('|').uniques().join('|')` as "Expression" and click on `OK`.
>
{: .hands_on}

These expressions split categories at the pipe separator and join the unique ones within this column. As a result, duplicate categories for one object are deleted.

> <question-title></question-title>
>
> 1. How many cells had duplicated categories?
>
> > <solution-title></solution-title>
> >
> > 1. 1,668
> >
> {: .solution}
{: .question}

## Atomization

Once the duplicate records have been removed, we can examine the content of the "Categories" column more closely. Different categories are separated from each other by pipe (\|). 
Each entry can be assigned to more than one category. To leverage those keywords, the values in the Categories column must be split into individual cells using the pipe character.

> <hands-on-title>Atomization</hands-on-title>
>
> 1. Click on the triangle on the left of `Categories`, hover over `Edit cells`, and click on `Split multi-valued cells...`.
>
>    ![Atomization of Categories](images/split_multi_valued_cells.png)
>
> 2. Define the `Separator` as `\|` (pipe). Click on `OK`.
>
{: .hands_on}

Are you ready for a little challenge? Let's investigate the categories column of the museum items.

> <question-title></question-title>
>
> 1. How many rows do you have after atomizing the categories column?
> 2. How many entries do not have any category?
>
> > <solution-title></solution-title>
> >
> > 1. 168,476
> > 2. Click on the triangle on the left of `Categories` and hover over `facet` and move your mouse over `Customized facets`, and click on `Facet by blank (null or empty string)`. The `true` value for blank entries is 447.
> >    
> >   ![Facet Blank of atomized Categories](images/facet_categories_blank.png)
> >
> {: .solution}
{: .question}

## Faceting

Now that the `Categories` field is cleaned, we can check the occurrence of categories with various facets.

> <hands-on-title>Faceting</hands-on-title>
>
> 1. Click on the triangle on the left of `Categories`, hover over `Facet`, and click on `Text facet`.
> 2. On the left panel, it mentions the total number of choices. The default value of `count limit` is low for this dataset, and we should increase it. Click on `Set choice count limit`.
>
>    ![Text faceting of atomized Categories](images/text_facet.png)
>
> 3. Enter `5000` as the new limit and click on `Ok`.
>
>    ![Increasing the limit of text facetring](images/text_facet2.png)
>
> 4. Now, you see all categories. Click on `count` to see the categories sorted in descending order.
>
>    ![Text faceting of atomized Categories sorted by count](images/text_facet3.png)
>
{: .hands_on}

You can now see, from which category the museum has the most objects, one of our initial questions about the dataset.

> <question-title></question-title>
>
> 1. What are the top 3 categories? How many items are associated with each of them?
>
> > <solution-title></solution-title>
> >
> > 1. Numismatics (8011), Ceramics (7389), and Clothing and Dress (7279).
> >    Congratulations, you have just answered our first question: from which category does the museum have the most objects?
> >    It is numismatic objects, meaning coins. This makes a lot of sense; coins have a long history and convey a lot of information. They are therefore very interesting for researchers.
> >    Moreover, they are robust and compact, making them durable and relatively easy for museums to store.
> >
> {: .solution}
{: .question}


## Clustering

The clustering allows you to solve issues regarding case inconsistencies, incoherent use of either the singular or plural form, and simple spelling mistakes. We apply those to the object categories for the next step of cleaning.

> <hands-on-title>Clustering of similar categories</hands-on-title>
>
> 1. Click on the `Cluster` button on the left in the `Facet/Filter` tab.
> 2. Use `Key collision` as clustering method. Change the Keying function to `n-Gram fingerprint` and change the n-Gram size to `3`.
>
>    ![Cluster and edit column Categories](images/cluster.png)
>
> 3. Click on the `Cluster` button in the middle window.
>
>    ![Clustered and merged similar Categories](images/cluster2.png)
>
> 4. Here, you can see different suggestions from OpenRefine to cluster different categories and merge them into one. In our tutorial, we merge all the suggestions by clicking on `Select all` and then clicking on `Merge selected and re-cluster`.
>
> 5. Now, you can close the clustering window by clicking on `close`.
>
>    Be careful with clustering! Some settings are very aggressive, so you might end up clustering values that do not belong together!
>
>    Now that the different categories have been clustered individually, we can reassemble them in the respective object single cell.
>    
> 6. Click the Categories triangle and hover over the `Edit cells` and click on `Join multi-valued cells`.
> 7. Choose the pipe character (`|`) as a separator and click on `OK`.
>
>    ![Join multi-valued cells on Categories](images/join.png)
>    
> The rows now look like before, with a multi-valued Categories field.
>
{: .hands_on}

You have now successfully split, cleaned and re-joined the various categories of objects in the museum's metadata! Congratulations.
As before the splitting of columns, we are now back to 75725 rows.
When you are satisfied with your data, choose whether to export the dataset to your Galaxy history or download it directly to your computer.

## Exporting your data back to Galaxy

Exporting your data back to Galaxy allows you to analyse or visualise it with further tools in the platform.
But OpenRefine also allows you to export your operation history, detailing all the steps you took in JSON format.
This way, you can import it later and reproduce the exact same analysis. To do so:

> <hands-on-title>Exporting the OpenRefine history</hands-on-title>
> 
> 1. Click on `Undo/Redo` on the left panel.
> 2. Click on `Extract...`.
>
>    ![Extract OpenRefine](images/extract_tasks.png)
>
> 3. Click on the steps that you want to extract. Here, we selected everything.
> 4. Click on `Export`. Give your file a name to save it on your computer.
>
> ![Extract OpenRefine GUI](images/extract_tasks2.png)
>
{: .hands_on}

However, you will also ensure that you save your data. You can download your cleaned dataset in various formats, such as CSV, TSV, and Excel, within OpenRefine. 
For further analysis or visualisation, we suggest you export it to your Galaxy history.

> <hands-on-title>Exporting the results and history</hands-on-title>
>
> 1. Click on `Export` at the top of the table.
> 2. Select `Galaxy exporter`. Wait a few seconds. In a new page, you will see a text as follows: "Dataset has been exported to Galaxy, please close this tab". When you see this, you can close that tab.
>
>    ![Export results of OpenRefine](images/export_results3.png)
>
> 3. You can now close the OpenRefine interactive tool. For that, go to your history with the orange item `OpenRefine on data [and a number]`. This is your interactive tool. Click "OK" on the small square (it says "Stop this interactive tool" when you mouse over it). You do not need it for your next steps.
> 4. You can find a new dataset (named something like "openrefine-Galaxy file.tsv") in your Galaxy History (with a green background). It contains your cleaned dataset for further analysis.
> 5. You can click on the eye icon ({% icon galaxy-eye %}) and investigate the table.
>
>    ![Cleaned dataset](images/dataset_cleaned.png)
>
{: .hands_on}

Awesome work! However, you may recall that we still have two unanswered questions about our data: From which year does the museum have the most objects? And what objects does the museum have from that year?

# Run a Galaxy Workflow on your cleaned data

Congratulations, you have successfully cleaned your data and improved its quality!
But what can you do with it now?
This depends on your research objectives. For us, it is interesting to extract further information from the data.
To make it easier for you, we have created a workflow that links all the tools needed for this analysis.
We wanted to know which year the museum had the most objects and what they were.
You can follow along and answer those questions with us, or explore the Galaxy tools on your own, to adapt the analysis to your needs.
In this case, be sure to check out our other tutorials, particularly the introductory ones.

## How to find and run existing workflows

> <hands-on-title>Run a Galaxy workflow on your dataset</hands-on-title>
>
> There are different ways to import or create a workflow to Galaxy. For example, you can import a workflow from the registered workflows on [WorkflowHub](https://workflowhub.eu/) which is a registry for describing, sharing, and publishing scientific computational workflows. To do that, you have to navigate to the [WorkflowHub](https://workflowhub.eu/) and find the workflow of interest. In this tutorial, we are working [with this workflow](https://workflowhub.eu/workflows/1884?version=1). When you open the link to this workflow on WorkflowHub, you see the following page:
>
> ![Workflowhub page](images/workflowhub.png)
>
> Please click on the `Run on Galaxy` button on top right. After doing this, you will be redirected to your Galaxy account and see the workflow automatically in your middle panel as follows:
>
> ![Workflow imported to Galaxy](images/workflow.png)
>
> This is one way of importing a workflow to your account.
> 
> Let's assume you have done this and imported the workflow to your Galaxy account.
> 1. You can find all workflows available to you by clicking on the Workflows Icon ({% icon galaxy-workflows-activity %}) on the left panel.
>
>    ![Workflows button](images/workflows.png)
>
> 2. Then, you can select and run different workflows (if you have any workflows in your account). Here, let's click on the Run button ({% icon workflow-run %}) of the workflow we provided to you in this tutorial.
>
>    ![Select this workflow](images/select_workflow.png)
>
> 3. Determine the inputs as follows:
>    
>    Input: `openrefine-Galaxy file.tsv`—This is the file you cleaned in OpenRefine.
>    
>    stop_words_english: `stop_words_english.txt`, which is the file we provided to you in this tutorial.
>
>    ![Determine the inputs of the workflow](images/workflow_inputs.png)
>
> 4. Click on the `Run Workflow` button at the top.
> 5. You can follow the stages of different jobs (computational tasks). They will be created, scheduled, executed, and completed. When everything is green, your workflow has run fully and the results are ready.
>
>    ![Overview of the workflow](images/workflow_overview.png)
>
{: .hands_on}

What can you see here? To follow along, we made all substeps of the task available as outputs. 
To answer our question of which year most elements in the museum derive from, we first cut the column of production time from the table.
You can see this in the file `Cut on Data (Number)`.
From this, we filter only the dates that derive from specific years, not year ranges. (See `Filter Tabular on Data (Number)`.) 
You can click on the arrow in the circle button of this dataset (`Run job again`) to see what exact input was used to exclude year ranges.
Regular expressions help clean remaining inconsistencies in the dataset. (Dataset: `Column Regex Find And Replace on Data (Number)`)
Sorting the production date in descending order, as done in the dataset `Sort on data (lowest Number)`, reveals that one faulty dataset, which is supposed to have been created in 2041, is part of the table. 
We remove it in the next step with the tool `Remove beginning`.

The tool **Datamash** allows for summarising how many elements arrived at the museum in each year.  (Dataset: `Datamash on data (Number)`.)
After we apply this tool, the dataset is no longer 7738 lines long, but only 259. 
This is because the number of times each year appeared in the table was summed up in a second column.
Sorting in ascending order (`Sort on data (Number)`) shows a chronological dataset with the earliest entries in the beginning and the most recent entries at the end of the table.
 We can easily visualise this in a (particularly crowded) bar chart directly within Galaxy. (`Bar chart on data (Number)`)
But this is not the most optimal view to show us which year most objects derive from.

To determine from which year most objects originate, we use another sorting order (`Sort on Data (highest number)`). 

> <question-title></question-title>
>
> 1. From what year does the museum have the most objects?
>
> > <solution-title></solution-title>
> >
> > 1. The dataset `Sort on data (highest number)` shows the number of objects by year, sorted from most to least. 288 items are noted for the year 1969 in the first row. This is the year from which the museum has the most (clearly datable) objects.
> >
> {: .solution}
{: .question}

The next four steps parse this year as a conditional statement step by step. (`Select first on data (Number)`, `Cut on data (Number)`, `Parse parameter value on data (Number)` and `Compose text parameter value`.)  
This means, even if you upload another dataset, the highest number is always selected and taken as an input for the next steps.

Based on this input, which is determined by the year with the highest input, `Search in textfiles on data (Number)` searches for object descriptions from the 288 objects of the most prominent year. 
The table is very rich in information, but not that easy to digest.
To make the table more accessible, we create a word cloud of the object descriptions with the offered stop word list.
If you click on the stop word list we provided, you see what "fill words" are excluded from the word cloud. In essence, only words conveying meaning remain.
This helps us quickly determine what kinds of objects the museum has from this popular year.
The dataset `Word cloud image` shows that most objects from the museum are negatives from Davis Mist, a famous Australian photographer, who created them that year and donated them to the museum.

![Word cloud of objects' descriptions](images/display_1969.png)

# Conclusion

Congratulations! You used OpenRefine to clean your data and ran a workflow from Galaxy with your results! You now know how to perform basic steps in Galaxy, run OpenRefine as an interactive tool, and transfer data from Galaxy to OpenRefine and back. On the way, you have learned basic data cleaning techniques, such as facetting, to enhance the quality of your data. To extract further information from the cleaned data, running a pre-designed workflow showed you a glimpse into Galaxy. Of course, you can always conduct your own analysis using the tools most useful to you, instead.


topic: digital-humanities
tutorial: text_mining_chinese
title: Text-Mining Differences in Chinese Newspaper Articles
difficulty: intermediate
time_estimation: 1H
tools_json: []
requirements_json: []
tags_json: ["text mining"]
content_hash: 24dff222376d6f11ab649a2aefe66b15
last_modified: 2026-02-26T21:12:15.228988
zenodo_link: https://doi.org/10.5281/zenodo.14899614
workflows_json: []
url:
https://training.galaxyproject.org/training-material/topics/digital-humanities/tutorials/text_mining_chinese/tutorial.html

content:
The British Hong Kong Government censored Chinese newspapers before their publication in the colony in the 1930s ({% cite Ng2022 %}).
Replacement characters like × visibly marked those redactions, making them visible even to those who did not read any Chinese.

![Example of a Chinese article with symbol × marking censored characters]({% link topics/digital-humanities/tutorials/text_mining_chinese/images/Example_x_censored_Chinese_article.svg %} "Example of a Chinese article with symbol × marking censored characters")

The schematic example, adapted from {% cite Schneider2024 %}, shows what such a censored Chinese article looked like. It is read from right to left and top to bottom. The two more prominent lines on the right are the article title, and the following text is the article's main body. It contains the character × several times, indicating various instances where it was censored.

Despite this obvious form of censorship, no research is looking into what Chinese characters the × replaced. My dissertation ({% cite Schneider2024 %}), which informs this workflow, started at this point. Through extensive research, I found several articles censored in the Hong Kong edition of Da gong bao (大公報) as uncensored versions. Those mostly came from Chinese editions printed in mainland China, where different censorship regulations applied. Those articles from China were not censored and openly showed the characters redacted in the Hong Kong versions. An example of a censored article could be {% cite Anon..16.10.1938_5598 %} and of the uncensored version {% cite TKP.16.10.1938_18864 %}.

The tutorial uses text mining to compare censored and uncensored text and to answer the following question: What characters were censored in a Chinese newspaper published in Hong Kong in the 1930s?


> <agenda-title></agenda-title>
>
> In this tutorial, we will cover:
>
> 1. TOC
> {:toc}
>
{: .agenda}


# Uploading the texts

The machine-readable versions of the Chinese newspaper articles I originally used in my dissertation come from a proprietary database and can not be shared here. Instead, I generated a dummy article with a similar setup in GPT and manually adapted the censorship symbols based on my research. The articles differ in style and punctuation, as is consistent with the articles in my research. Therefore, the input files are two texts in traditional Chinese. The first is censored, containing ×, and the second one is uncensored and does not contain replacement symbols. Both texts slightly differ in their layout, which will be unified later.

> <hands-on-title> Upload the Texts </hands-on-title>
>
> 1. Create a new history for this tutorial
>
>    {% snippet faqs/galaxy/histories_create_new.md %}
>
> 2. Import the files from [Zenodo](https://zenodo.org/records/14899614)
>
>
>    ```
>    https://zenodo.org/records/14899614/files/Example_Chinese_newspaper_censored.txt
>    https://zenodo.org/records/14899614/files/Example_Chinese_newspaper_uncensored.txt
>    ```
>
>    {% snippet faqs/galaxy/datasets_import_via_link.md %}
>
> 3. Rename the datasets, if necessary
> 4. Check that the datatype is `txt`.
>
>    {% snippet faqs/galaxy/datasets_change_datatype.md datatype="datatypes" %}
>
{: .hands_on}

> <question-title>What do the uploaded texts look like?</question-title>
>
> 1. Name at least one visual difference you notice between the two texts. (No need to understand their content here.)
>
> > <solution-title></solution-title>
> >
> > 1. Visual differences you notice might be:
> > - The texts have different headlines
> > - The uncensored text contains more paragraphs
> > - The censored text contains the symbol × several times
> > - The censored text contains additional symbols at the end
> > - The texts use slightly different punctuation (impressive catch!)
> {: .solution}
>
{: .question}


# Pre-processing

We pre-process and clean both texts to make the comparison easier and more apparent. This step will unify their layout. It uses Regular Expressions (Regex) to find and replace certain text parts. Here, the Regex also helps to restructure the text.


> <details-title> More on Regular Expressions (optional) </details-title>
>
> Regular Expressions are a powerful tool to modify text automatically based on word patterns. To read more about Regex's specifics, see its [documentation](https://docs.python.org/3/library/re.html).
> You can check what your input matches in [Regex 101](https://regex101.com). Enter the Regular Expression you want to try in the top field. Insert a sample text below to see what content your Regex catches and to find out how to adapt it.
>
{: .details}


## Clean up both texts

We will use Regular Expressions in a tool called "Replace text". It contains four different sub-steps. Those will vary if you upload different texts. Apply this step first to the censored and then to the uncensored text to get two cleaned texts.

> <hands-on-title> Cleaning the Text with Regular Expressions </hands-on-title>
>
> 1. {% tool [Replace Text](toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.5+galaxy0) %} with the following parameters:
>    - {% icon param-file %} *"File to process"*: `Example_Chinese_newspaper_censored.txt` (censored text you uploaded)
>    - In *"Replacement"*:
>        - {% icon param-repeat %} *"Insert Replacement"*
>            - *"Find pattern"*: `\r`
>            - *"Additional sed commands before replacement"*: `:a;N;$!ba;`
>        - {% icon param-repeat %} *"Insert Replacement"*
>            - *"Find pattern"*: `\n`
>        - {% icon param-repeat %} *"Insert Replacement"*
>            - *"Find pattern"*: `\s`
>        - {% icon param-repeat %} *"Insert Replacement"*
>            - *"Find pattern"*: `(.)`
>            - *"Replace with:"*: `\1\n`
>    - Click *"Run Tool"*.
>    
>    Now repeat those steps with the uncensored text.
>
>    > <comment-title>Explaining the above Regular Expressions</comment-title>
>    > Regular expressions can not only find particular words, as you might be familiar with from regular text editors.
>    > It is more powerful and can find particular patterns, for example, only capitalised words or all numbers.
>    > In this step, we mostly delete unnecessary placeholders.
>    > The first pattern we want to find is `\r`. It catches a specific form of invisible line breaks that would create unwanted gaps in the comparison later.
>    > We delete those by leaving the optional "Replace with" field blank.
>    > The additional sed commands before replacement `:a;N;$!ba;` catch all blank spaces with this tool.
>    > It is necessary only once to ensure that particular end-of-line characters are removed consistently.
>    > Similarly, `\n` marks linebreaks. We also delete those by leaving the optional "Replace with" field blank.
>    > The next expression we search for is `\s`. Those are spaces as you see them between words on your computer. We delete those.
>    > As a result, there are no gaps in our text anymore.
>    > In the last step, we want to choose each character with `(.)` and reformat it. We want to have one character per line. Therefore, we replace all characters with `\1\n`. `\1` means the responding character, and `\n` adds a linebreak after each.
 >    > The result is a clean and reformatted text.
>    {: .comment}
>
>    {% snippet faqs/galaxy/analysis_regular_expressions.md %}
>
{: .hands_on}

Remember to apply those steps to both the censored and the uncensored text. Rename both new texts in a meaningful way. Choose, for example, "Cleaned Censored Text" and "Cleaned Uncensored Text".

> <question-title>Take a look at the texts</question-title>
>
> 1. What do the texts look like now? How have they changed?
>
> > <solution-title></solution-title>
> >
> > 1. Before, the texts showed many sentences in one line. Now, both texts show one character per line and have more lines. The layout is entirely different.
> >
> {: .solution}
>
{: .question}



# Comparing the censored and uncensored text

We can now compare the two cleaned texts. This will visualise the differences between the two texts and mark them by colour. Make sure to upload the cleaned censored text with the replacement characters like ‘×’ first. As text two, upload the cleaned uncensored text without the replacement characters.  This version (HTML version) creates an HTML file, which colour codes differences as additions (green) or extractions (red) when comparing the texts.

## Create a _diff_ file for researchers

> <hands-on-title> Comparing the texts using <em>diff</em> tool </hands-on-title>
>
> 1. {% tool [diff](toolshed.g2.bx.psu.edu/repos/bgruening/diff/diff/3.10+galaxy1) %} with the following parameters:
>    - {% icon param-file %} *"Cleaned Censored Text"*: `outfile` (output of **Replace Text** {% icon tool %})
>    - {% icon param-file %} *"Cleaned Uncensored Text"*: `outfile` (output of **Replace Text** {% icon tool %})
>    - *"Choose a report format"*: `Generates an HTML report to visualize the differences`
>    - Click *"Run Tool"*
{: .hands_on}

The result is two files: an HTML file and a raw output as a by-product.

> <question-title> Take a look at the HTML report</question-title>
>
> 1. What can you see in lines 19 / 21?
>
> > <solution-title></solution-title>
> >
> > 1. Line 19  on the left shows a red comma on the left side of the table. It corresponds with line 21 on the right, which contains a colon in green. This means the punctuation in the file differs. The censored version contains a comma, while the uncensored one includes a colon.
> >
> {: .solution}
>
{: .question}

The HTML file could look like this:

![Screenshot of the diff tool comparing the censored and uncensored text]({% link topics/digital-humanities/tutorials/text_mining_chinese/images/Diff_WF_HTML.jpg %} "Example of the HTML file comparing the censored and uncensored text")

It shows what passages differ in the two texts. Red parts show deletions, and green-coloured areas are additions.
This output is very convenient for researchers, as it shows differences quickly. However, it is not helpful for further processing with Galaxy. For this, we run this tool a second time with slightly changed parameters. The output is the basis for our further analysis.


## Create a _diff_ file for further processing
This step runs the text comparison line by line again to create another raw file that the computer can work with.
It is less intuitive to understand at first glance. Again, clean the censored text with the replacement characters like ‘×’ first and the uncensored text second.

> <hands-on-title> Run another <em>diff</em> tool </hands-on-title>
>
> 1. {% tool [diff](toolshed.g2.bx.psu.edu/repos/bgruening/diff/diff/3.10+galaxy1) %} with the following parameters:
>    - {% icon param-file %} *"Cleaned Censored Text"*: `outfile` (output of **Replace Text** {% icon tool %})
>    - {% icon param-file %} *"Cleaned Uncensored Text"*: `outfile` (output of **Replace Text** {% icon tool %})
>    - *"Choose a report format"*: `Text file, side-by-side (-y)`
>    - Click *"Run Tool"*
>
>    > <comment-title> The output format </comment-title>
>    > As you can see above, the output of this file is a text file, compared to the HTML in the last step.
>    {: .comment}
>
{: .hands_on}


> <question-title>Look at this step's output</question-title>
>
> 1. How does this file differ from the HTML file in the last step?
>
> > <solution-title>Answer</solution-title>
> >
> > 1. This output is a text file. Changes between the two texts are not coloured.
> > Instead, they are marked by additional symbols like '>' or '<'.
> >
> {: .solution}
>
{: .question}

The tools we use in the next steps need tabular files. Therefore, we will change the datatype of this last text file to a tabular file to enable the next steps:

> <hands-on-title>Change Datatype</hands-on-title>
>
> 1. **Set the datatype** {% icon galaxy-pencil %} to `tabular`
>
>    {% snippet faqs/galaxy/datasets_change_datatype.md datatype="tabular" %}
>
{: .hands_on}

You have successfully changed the file's format to tabular, which helps for the next steps.
Now you can see that the additional symbols like '>' or '<' all appear in Column 8.

# Select only censored lines
In the next step, we want to extract specific lines only. To determine what content was redacted in the first text, we filter the last step's raw output for lines containing the censorship symbol ×.

> <hands-on-title> Filter text </hands-on-title>
>
> 1. {% tool [Filter](Filter1) %} with the following parameters:
>    - {% icon param-file %} *"Filter"*: `diff_file` (output of **diff** {% icon tool %})
>    - *"With following condition"*: `ord(c1) == 215`
>    - Click *"Run Tool"*
>
>
>    > <details-title> How to select the correct characters here (optional) </details-title>
>    >
>    > The condition "ord(c1) == 215" means that column c1's lines, which contain the censored text, are selected if they match ×. The symbol × is unspecific. Therefore, the Unicode identifier of the character (215) is used for clarity in this condition.
>    {: .details}
>
> Remember to rename your file "Censored lines".
>
>    > <comment-title> Filter for other characters </comment-title>
>    > Add another Unicode here if you want to select a different character, for example, '□' or '△'.
>    > For example, you can get the respective code on [Character Code Finder](https://www.mauvecloud.net/charsets/CharCodeFinder.html).
>    > Copy the character you want to filter for in the "input" window and select "Decimal Character Codes" as an output. If you do this for symbol ×, you get 215.
>    {: .comment}
>
{: .hands_on}


> <question-title>What output do you get?</question-title>
>
> 1. How many lines contain ×?
>
> > <solution-title></solution-title>
> >
> > 1. 13
> >
> {: .solution}
>
{: .question}


# Ensure consistent file format

After filtering for the censored lines, we insert a sub-step to ensure smooth computing. The previous setup could cause an error if the characters filtered in the last step were erased. Then, the extracted file would miss the last column, which would cause an error. This is invisible to the researchers in the file. The compute step covers this potential error and ensures all necessary columns exist.

> <hands-on-title> Compute to ensure all columns exist </hands-on-title>
>
> 1. {% tool [Compute](toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/2.1) %} with the following parameters:
>    - {% icon param-file %} *"Input file"*: `out_file1` (output of **Filter** {% icon tool %})
>    - *"Input has a header line with column names?"*: `No`
>        - In *"Expressions"*:
>                - *"Add expression"*: `c9`
>                - *"Mode of the operation"*: `Replace`
>                    - *"Use new column to replace column number"*: `9`
>    - In *"Error handling"*:
>        - *"If an expression cannot be computed for a row"*: `Produce an empty column value for the row`
>    - Click *"Run Tool"*
{: .hands_on}

Rename the result to "Censored lines final".

# Summarise your findings

This step sums up how often each character appeared in the table before.

> <hands-on-title> Task description </hands-on-title>
>
> 1. {% tool [Datamash](toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0) %} with the following parameters:
>    - {% icon param-file %} *"Input tabular dataset"*: `out_file1` (output of **Compute** {% icon tool %})
>    - *"Group by fields"*: `9`
>    - *"Sort input"*: `Yes`
>    - In *"Operation to perform on each group"*:
>        - {% icon param-repeat %} *"Insert Operation to perform on each group"*
>            - *"Type"*: `count`
>            - *"On column"*: `column 9`
>   - Click *"Run Tool"*
{: .hands_on}

> <question-title></question-title>
>
> 1. How many lines does the file have now?
>
> > <solution-title></solution-title>
> >
> > 1. Three lines showing different characters: 寇, 敵 and 日.
> {: .solution}
>
{: .question}


# Sort your findings

Particularly if you get a long list in the last step, sorting the results from the most to least frequent characters is necessary.
If you are only interested in the quantitative results, this can be your final output.

> <hands-on-title> Sort </hands-on-title>
>
> 1. {% tool [Sort](sort1) %} with the following parameters:
>    - {% icon param-file %} *"Sort Dataset"*: `out_file` (output of **Datamash** {% icon tool %})
>    - *"on column"*: `c2`
>    - Click *"Run Tool"*
>
>    > <comment-title> How to sort? </comment-title>
>    >
>    > Select column `c2` because it contains the character frequency.
>    {: .comment}
>
{: .hands_on}

> <question-title> Check your results </question-title>
>
> 1. How often did the most frequently censored character appear?
>
> > <solution-title></solution-title>
> >
> > 1. The character 敵, meaning enemy, was censored 10 times in the first text.
> >
> {: .solution}
>
{: .question}

Why would the British Hong Kong Government consistently censor this character? Jump to the conclusion to find out.

# Cut out the censored characters only

If you want to visualise your results, this step gets you there. We use the file "Censored lines final", which we created in the step "Ensure consistent file format".
Unlike the last step, this tabular file contains all 13 lines in 9 columns.
From this file, we cut out all uncensored characters. The result is only one column with different rows of Chinese characters.
It allows scaling words by frequency in the word cloud in the next step. As a result, characters that appear more often appear bigger, making the results evident at first sight.

> <hands-on-title> Select the censored characters </hands-on-title>
>
> 1. {% tool [Cut](Cut1) %} with the following parameters:
>    - *"Cut columns"*: `c9`
>    - {% icon param-file %} *"From"*: `out_file1` (output of **Compute** {% icon tool %})
>    - Click *"Run Tool"*
>
>    > <details-title> What do I select here? (optional) </details-title>
>    >
>    > `c9` means column 9. It contains the uncensored characters from text two and is, therefore, cut out in this step.
>    {: .details}
>
{: .hands_on}

# Generate a word cloud

The last step is to visualise the results within a word cloud. It shows which characters were censored in the first text. The bigger the word, the more often it appeared in the text.

> <hands-on-title> Task description </hands-on-title>
>
> 1. {% tool [Generate a word cloud](toolshed.g2.bx.psu.edu/repos/bgruening/wordcloud/wordcloud/1.9.4+galaxy1) %} with the following parameters:
>    - {% icon param-file %} *"Input file"*: `out_file1` (output of **Cut** {% icon tool %})
>    - *"Do you want to select a special font?": `Select from a list of fonts`: `Noto Sans Traditional Chinese`
>    - *"Smallest font size to use"*: `8`
>    - *"Color option"*: `Color`
>    - *"Ratio of times to try horizontal fitting as opposed to vertical"*: `1.0`
>    - *"Scaling of words by frequency (0 - 1)"*: `0.9`
>    - Click *"Run Tool"*
>
>    > <details-title> Optimise your word cloud (optional) </details-title>
>    >
>    > You can choose different colours to suit your needs. The higher the "Ratio of times to try horizontal fitting as opposed to vertical" is towards "1", the more likely the character or word will appear horizontally.
>    > "Scaling of words by frequency (0 - 1)" allows you to scale the words according to their frequency. The smaller this number, the more equal-sized the characters in your word cloud will be, no matter their amount.
>    {: .details}
>
{: .hands_on}

Your word cloud should look similar to this:

![Screenshot of the above Workflow in Galaxy]({% link topics/digital-humanities/tutorials/text_mining_chinese/images/Wordcloud_censored_characters.png %})


# Conclusion

This tutorial used text mining to extract censored characters from a Chinese newspaper.

![Screenshot of the above Workflow in Galaxy]({% link topics/digital-humanities/tutorials/text_mining_chinese/images/Workflow_Screenshot.jpg %} "Screenshot of the above workflow showing each of the steps explained above")

The uploaded dummy texts contained several differences. They used slightly different punctuation, and some sentences and characters differed. The most obvious difference is that the second text was published uncensored in China, while the original text, published in Hong Kong, contained censorship symbols. This allowed us to extract what characters were censored in the text from Hong Kong.

Within this workflow, we first unified the layout of both texts, showing one character per line for an easier comparison with *diff* tool. The tool marked the differences between both texts in colour. Afterwards, we extracted only lines censored with ×. The extraction of the results ran in two strands: One was counting and sorting the results. This will answer what characters the British Hong Kong Government censored in their Chinese newspapers in the 1930s: Based on the (simplified) dummy texts, the characters were 敵 (enemy), 寇 (brave) and 日 (Japan). The character for *enemy* dominates and was censored five times more often than the character for *brave*.

What do those findings tell us? The British Hong Kong Government avoided publishing newspapers with a strong stand against Japan. Why? Because the British colony of Hong Kong, with a large Chinese population, is located very close to the Chinese mainland. Especially after the Japanese army invaded China in the summer of 1937, the British had to walk a tightrope. They tried to support the Chinese efforts without offending Japan. As a British outpost, Hong Kong had little military power and would not withstand a Japanese attack for long. Therefore, the British tried to appease the Japanese Government and avoid an attack. Calling them brave or enemies openly would have been dangerous. The one redaction of 日 (Japan) is very uncommon. This shows that the censorship practices were adaptable and not always unified. Censoring Hong Kong's newspapers to avoid anti-Japanese content is, therefore, a practical example of how appeasement policies from the British Government were implemented locally. This newspaper comparison is consistent with the findings in archival sources that I also researched for my dissertation ({% cite Schneider2024 %}) and lays the censored characters open for the first time.


topic: digital-humanities
tutorial: introduction_to_dh
title: Introduction to Digital Humanities in Galaxy
difficulty: introductory
time_estimation: 1H
tools_json: []
requirements_json: []
tags_json: ["text mining"]
content_hash: db2d3512b239f55c486cb7e6c6d0d6c4
last_modified: 2026-02-26T21:12:15.186655
zenodo_link: https://doi.org/10.5281/zenodo.17053220
workflows_json: []
url:
https://training.galaxyproject.org/training-material/topics/digital-humanities/tutorials/introduction_to_dh/tutorial.html

content:
Loosely building on {% cite Richardson2003 %}, this tutorial compares two editions of the poem "The Sorrows of Yamba".[^1]
The first couple of steps derive from [A short introduction to Galaxy]({% link topics/introduction/tutorials/galaxy-intro-short/tutorial.html %}).

"The Sorrows of Yamba" was published in 1795 and was among the most popular antislavery poems. However, the version published by Hannah More in the Cheap Repository Tracts series was not the only version of the poem that circulated. Also, Moore's authorship on the topic is contested ({% cite Richardson2003 %}). But while we leave this debate to the experts, the different versions of the poem offer a great opportunity to delve into how digital tools can help us compare texts more quickly. We will do this in the following tutorial.

While Richardson compared the poems by hand, we use his example to introduce how Galaxy can help you with your text analysis.
This tutorial covers the basics of Galaxy, from logging in and uploading text to using the first tools.
We will clean the two poem versions and check the texts from a distance by comparing their number of lines and characters, and visualizing both in a word cloud.
Then, we take a closer look. For an easier comparison, we reformat both texts and compare them line by line and side by side. As the word cloud shows, "death" is a dominant theme in the first poem, so we extract all lines including "death" for further in-depth analysis. This helps us gain a better understanding of where those articles differ and is applicable to many other texts you may want to compare.

> <agenda-title></agenda-title>
>
> In this tutorial, we will cover:
>
> 1. TOC
> {:toc}
>
{: .agenda}

# Get started in Galaxy

## Create an account on Galaxy
To use Galaxy's full potential, you must register and create an account. You can skip this step if you already have a Galaxy account.

{% snippet faqs/galaxy/account_create.md %}

Alternatively, you can log in using a single sign-on of your choice, for example, from [IAM4NFDI](https://iam.services.base4nfdi.de/faq_ENG/) on [Galaxy Europe](https://usegalaxy.eu/).

 ![Screenshot of Galaxy Europe register window with the IAM4NFDI login button highlighted](../../images/iam4nfdi.png)

## Log in to Galaxy

> <hands-on-title>Log in to Galaxy</hands-on-title>
> 1. Open your favourite browser (Chrome, Safari, Edge or Firefox as your browser, not Internet Explorer!)
> 2. Browse to your Galaxy instance, for example [Galaxy Europe](https://usegalaxy.eu/)
> 3. Log in with your credentials
>
> ![Screenshot of Galaxy Europe with the register or login button highlighted](../../images/Galaxyeulogin.png)
>
>   > <comment-title>Different Galaxy servers</comment-title>
>   >  This is an image of Galaxy Europe, located at [usegalaxy.eu](https://usegalaxy.eu)
>   >
>   > The particular Galaxy server you are using may look slightly different and have a different web address.
>   >
>   > You can also find more possible Galaxy servers at the top of this tutorial in **Available on these Galaxies**
>   {: .comment}
{: .hands_on}

The Galaxy homepage is divided into four sections (panels):
* The Activity Bar on the left: _This is where you will navigate to the resources in Galaxy (Tools {% icon tool %}, Workflows {% icon galaxy-workflows-activity %}, Histories {% icon galaxy-history-storage-choice %}, etc.)_
* Currently active "Activity Panel" on the left: _By default, the {% icon tool %} **Tools** activity will be active and its panel will be expanded_
* Viewing panel in the middle: _The main area for context for your analysis_
* History of analysis and files on the right: _Shows your "current" history; i.e.: Where any new files for your analysis will be stored_

![Screenshot of the Galaxy interface with aforementioned structure]({% link topics/introduction/images/galaxy_interface.png %})

The first time you use Galaxy, your history panel is empty.

## Name your current history

Your "History" is on the panel on the right. It is a record of the actions you have taken.

> <hands-on-title>Name history</hands-on-title>
> 1. Go to the **History** panel (on the right)
> 2. Click {% icon galaxy-pencil %} (**Edit**) next to the history name (which by default is "Unnamed history")
>
>    ![Screenshot of the galaxy interface with the history name being edited, it currently reads "Unnamed history", the default value. An input box is below it.]({% link shared/images/rename_history.png %}){:width="250px"}
>
>    > <comment-title></comment-title>
>    >
>    > In some previous versions of Galaxy, you will need to click the history name to rename it as shown here:
>    > ![Screenshot of the galaxy interface with the history name being edited, it currently reads "Unnamed history", the default value.](../../../../shared/images/rename_history_old.png){:width="320px"}
>    {: .comment}
>
> 3. Type in a new name, for example, "My Analysis"
> 4. Click **Save**
>
> > <comment-title>Renaming not an option?</comment-title>
> > If renaming does not work, you may not be logged in, so try logging in to Galaxy first. Anonymous users can only have one history, and they cannot rename it.
> {: .comment}
>
{: .hands_on}

## Upload a file to Galaxy

The "Activity Bar" is located on the leftmost part of the interface.

> <hands-on-title>Upload a file</hands-on-title>
> 1. At the top of the **Activity Bar**, click the {% icon galaxy-upload %} **Upload** activity
>
>    ![upload data button shown in the galaxy interface]({% link topics/introduction/images/upload-data.png %})
>
>    This brings up a box:
>
>    ![the Galaxy upload dialogue, the 'regular' tab is active with a large textarea to paste subsequent URL]({% link topics/introduction/images/upload-box.png %})
>
> 3. Click **Paste/Fetch data**
> 4. Paste in the address of both files in the Zenodo folder:
>    ```
>    https://zenodo.org/records/17053220/files/SoY_Cheap_Repo_Source.txt
>    https://zenodo.org/records/17053220/files/SoY_Univ_Mag_Source.txt
>    ```
>
> 5. Click **Start**
> 6. Click **Close**
>
>
> **Option 2:** On [usegalaxy.eu](https://usegalaxy.eu), you can alternatively import the Zenodo files directly from a *data library* within Galaxy:
>
> 1. At the top of the **Activity Bar**, click the {% icon galaxy-upload %} **Upload** activity
> 2. Click on the bottom of the newly opened window on **Choose from repository**.
> 3. Enter **"Zenodo"** in the search bar and click on the folder **"Zenodo"**.
> 4. Enter **Training material for Galaxy tutorial "Introduction to Digital Humanities in Galaxy"** in the search bar and select the items.
> 7. Click **Select**
> 8. Click **Start**
> 9. Click **Close**
{: .hands_on}


Your uploaded file is now in your current history.
When the file has been uploaded to Galaxy, it will turn green.

> <comment-title></comment-title>
> After this, you will see your first history item (called a "dataset") in Galaxy's right panel. It will go through
> the grey (preparing/queued) and yellow (running) states to become green (success).
>
{: .comment}

The contents of the file will be displayed in the central Galaxy panel. If the dataset is large, you will see a warning message which explains that only the first megabyte is shown.

> <hands-on-title>View the text files content</hands-on-title>
> 1. Click the {% icon galaxy-eye %} (eye) icon next to the dataset name, to look at the file content
>
>    ![galaxy history view showing a single dataset mutant_r1.fastq. Display link is being hovered.](../../images/eye-icon.png){:width="520px"}
>
> 2. Check the datatype - is it **txt**? Then you are all set. Otherwise, adapt the datatype.
>
>    {% snippet faqs/galaxy/datasets_change_datatype.md datatype="datatypes" %}
>
> 3. **Add a tag** to each dataset, corresponding to the file's origin.
>    - One saying `#cheap` for the file from the cheap repository (SoY_Cheap_Repo_Source.txt)
>    - The other one `#universal` for the second one (SoY_Univ_Mag_Source.txt)
>    - Don't forget the hashtags
>
>    {% snippet faqs/galaxy/datasets_add_tag.md %}
>
{: .hands_on}


What are those files?

You can see two text files; they are two versions of the poem "The Sorrows of Yamba".
The file "SoY_Cheap_Repo_Source.txt" is a poem version of Sorrows of Yamba, which was published in the [Cheap Repository](https://archive.org/details/McGillLibrary-PN970_C52_no_42a-1732).
The file "SoY_Univ_Mag_Source.txt" is another version of the poem, first published in the Universal Magazine in 1797.

Both files start with "Text adapted from:" and a different hyperlink. The second paragraph for both texts begins with "the sorrows of yamba," but the files continue differently. While one gives the year, the other is immediately followed by more text.
Both texts are already pre-cleaned and are entirely in lower case, but still contain punctuation.

It is obvious that the texts have similarities, but they are not identical. Now comes the fun part: Using Galaxy to compare your files. To do that, we first need to clean both files.

# Clean your Texts

## Delete the hyperlink


When looking at the two datasets, you will notice they still contain the hyperlink from their source.
As this is metadata and not the text we want to compare, we delete it at the beginning of both files.


> <hands-on-title> Delete Hyperlink in Text One </hands-on-title>
>
> 1. Click on **Tools** {% icon tool %} in the left panel
> 2. Search for {% tool [Remove beginning](Remove beginning1) %} and pass the following parameters:
>    - *"Remove first"*: `1` (lines)
>    - {% icon param-file %} *"from"*: `1: SoY_Cheap_Repo_Source.txt`
> 3. Click on **Run Tool** {% icon workflow-run %}
>
>    > <comment-title> What does this tool do? </comment-title>
>    >
>    > Remove beginning deletes a selected number of lines from your file. In this case, removing the first line is enough.
>    {: .comment}
>
{: .hands_on}

When the job is finished and appears green in your history, click on its name.

> <question-title></question-title>
>
> 1. Check how many lines the file now contains?
> 2. How does this differ from the original file you uploaded?
>
> > <solution-title></solution-title>
> >
> > 1. The file now contains only one line.
> > 2. The originally uploaded text contained two lines. You removed one with this step.
> >
> {: .solution}
>
{: .question}

As a result, only the poem's text remains, while the source was removed for text one.
Galaxy names the files after the task used to create that step. While this can be helpful, we change the name to a clearer filename.

> <hands-on-title> Rename the output</hands-on-title>
>
> 1. **Change the name** {% icon galaxy-pencil %} of the output of this tool, which removed the beginning of `SoY_Cheap_Repo_Source.txt`
>    - Rename it to `SoY_Cheap_Repo.txt`
>
>    {% snippet faqs/galaxy/datasets_rename.md %}
>
{: .hands_on}


We also use this tool on the second file.


> <hands-on-title> Delete Hyperlink in Text Two </hands-on-title>
>
> 1. Run {% icon workflow-run %} {% tool [Remove beginning](Remove beginning1) %} with the following parameters:
>    - *"Remove first"*: `1` (lines)
>    - {% icon param-file %} *"from"*: `2: SoY_Univ_Mag_Source.txt`
>
>    {% snippet faqs/galaxy/tools_rerun.md %}
> 
> 2. Once it is finished, rename this file to `SoY_Univ_Mag.txt`.
>
{: .hands_on}



Click on the finished dataset that just appeared in your history. Check that it starts with the poem text and that the hyperlink is removed.
To quickly see which version of the poems we have, we rename both datasets with clearer names and add tags based on the text origin.
The hashtag propagates the tags, so all further outputs from this dataset contain the same hashtag, making it much easier to identify what text we are currently working with.


Depending on how detailed you want to compare your texts, we suggest further unifying them. In the next step, we remove all the punctuation with one command.


## Remove punctuation

Regular Expressions (RegEx) allow you to search for particular patterns in your text. They can be a massive help if you want to extract or remove them with minimal work. In our two poems, the punctuation is not unified; therefore, we want to remove it from both using regular expressions (RegEx). If comparing the punctuation of texts is also relevant to you, you can skip this step. Make sure to select the text version from the Cheap Repository that we have earlier removed the hyperlink from.

> <hands-on-title> Remove Punctuation in Poem One </hands-on-title>
>
> 1. Run {% icon workflow-run %} {% tool [Replace Text - in entire line](toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.5+galaxy2) %} with the following parameters:
>    - {% icon param-file %} *"File to process"*: `SoY_Cheap_Repo.txt`
>    - In *"Replacement"*:
>        - {% icon param-repeat %} *"Insert Replacement"*
>            - *"Find pattern"*: `[[:punct:]]`
>            - *"Replace with"*: (leave this empty)
>
>    {% snippet faqs/galaxy/analysis_regular_expressions.md %}
>
> 2. Rename your output file (once it is green) to `SoY_Cheap_Repo_cleaned.txt`
>
>    {% snippet faqs/galaxy/datasets_rename.md %}
>
{: .hands_on}



And we repeat the same for the second text. Remember to use the redo button if you want to save some time.

Also in text two, we search for the pattern `[[:punct:]]` and omit a replacement, meaning that all punctuation marks will be deleted. Ensure that you select the text version from the Universal Magazine, from which we previously removed the hyperlink.

> <hands-on-title> Remove Punctuation in Poem Two </hands-on-title>
>
> 1. Run {% icon workflow-run %} {% tool [Replace Text - in entire line](toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.5+galaxy2) %} with the following parameters:
>    - {% icon param-file %} *"File to process"*: `SoY_Univ_Mag.txt`
>    - In *"Replacement"*:
>        - {% icon param-repeat %} *"Insert Replacement"*
>            - *"Find pattern"*: `[[:punct:]]`
>            - *"Replace with"*: (leave this empty)
>
> 2. **Rename** {% icon galaxy-pencil %} the output file to `SoY_Univ_Mag_cleaned.txt`
>
>
{: .hands_on}

To get an idea of how the two cleaned texts compare, we check out their metadata.

# Different ways to compare the texts

## Compare quantitatively

The tool {% tool [Line/Word/Character count](wc_gnu) %} allows us to get a quick overview of a text. We want to determine if the cleaned versions differ from one another.

> <hands-on-title> Count the Characters of Poem One </hands-on-title>
>
> 1. Run {% icon workflow-run %} {% tool [Line/Word/Character count](wc_gnu) %} with the following parameters:
>    - {% icon param-file %} *"Text file"*: `SoY_Cheap_Repo_cleaned.txt`
>
> 2. **Rename** {% icon galaxy-pencil %} the output of this step to `Line/Word/Character count Cheap Repo`.
>
{: .hands_on}



Once the dataset has finished running and appears green, click on the eye {% icon galaxy-eye %} symbol. You can see how many lines, words and characters the text consists of.
And again, we run {% icon workflow-run %} the tool on the second poem.

> <hands-on-title> Count the Characters of Poem Two </hands-on-title>
>
> 1. Run {% icon workflow-run %} {% tool [Line/Word/Character count](wc_gnu) %} with the following parameters:
>    - {% icon param-file %} *"Text file"*: `SoY_Univ_Mag_cleaned.txt`
>
> 2. **Rename** {% icon galaxy-pencil%} this output to `Line/Word/Character count Universal` for easier distinction.
>
{: .hands_on}


> <question-title>How do the texts compare</question-title>
>
> 1. How many lines do the poems have?
> 2. Which of the two texts contains more words, and how many?
>
> > <solution-title></solution-title>
> >
> > 1. Both texts consist of only two lines.
> > 2. The poem version from the cheap repository is longer, containing 1139 words, more than double the amount of the second poem.
> >
> {: .solution}
>
{: .question}

The differences between the two texts are quantifiable, but do these also affect the content?

## Compare visually

A picture says more than 1000 words! Accordingly, we aim to delve deeper into the actual content of both texts. Particularly for larger corpora, a word cloud can be a nice way to get a first idea of what a text is about. Please refrain from using the latest outputs this time, as they contain only metadata and not the texts we want to compare. Select the cleaned poem versions for a more meaningful word cloud output.

> <hands-on-title> Visualize the Content of Poem One </hands-on-title>
>
> 1. Run {% icon workflow-run %} {% tool [Generate a word cloud](toolshed.g2.bx.psu.edu/repos/bgruening/wordcloud/wordcloud/1.9.4+galaxy4) %} with the following parameters:
>    - {% icon param-file %} *"Input file"*: `SoY_Cheap_Repo_cleaned.txt` (output of **Replace Text** {% icon tool %})
>    - *"Do you want to select a special font?"*: `Use the default DroidSansMono font`
>    - *"Color option"*: `Colormap`
>    - *"Scaling of words by frequency (0 - 1)"*: `0.8`
>
>    > <comment-title> Adapting the Word Cloud </comment-title>
>    >
>    > The word cloud has many different features. You can upload a stop word list that should be excluded from the visualization, or play around with other parameters like the text size. Rerun {%icon dataset-rerun %} the tool with some changed parameters and see what happens.
>    {: .comment}
>
{: .hands_on}

We also rerun {%icon dataset-rerun %} the word cloud with the second poem.

The word cloud for the second text is created in the same way. We suggest rerunning the tool with the second text, using the same parameters as those for creating the first word cloud image for better comparability. That makes both comparable.

> <hands-on-title> Visualize the Content of Poem Two </hands-on-title>
>
> 1. Run {% icon workflow-run %} {% tool [Generate a word cloud](toolshed.g2.bx.psu.edu/repos/bgruening/wordcloud/wordcloud/1.9.4+galaxy4) %} with the following parameters:
>    - {% icon param-file %} *"Input file"*: `SoY_Univ_Mag_cleaned.txt` (output of **Replace Text** {% icon tool %})
>    - *"Do you want to select a special font?"*: `Use the default DroidSansMono font`
>    - *"Color option"*: `Colormap`
>    - *"Scaling of words by frequency (0 - 1)"*: `0.8`
>
>    > <comment-title> Uniqueness of the Word Cloud </comment-title>
>    >
>    > The word cloud from this tool looks a little different each time you run it. The layout may vary even when you redo it with the exact same text and inputs.
>    {: .comment}
>
{: .hands_on}

Comparing items from your history is easiest when you enable the window manager and view both images side by side.

{% snippet faqs/galaxy/features_scratchbook.md %}


> <question-title></question-title>
>
> 1. What is the most prominent word in each of the clouds?
> 2. How do the Word Clouds for Poem One and Poem Two compare?
>
> > <solution-title></solution-title>
> >
> > 1. The most prominent word in the word cloud created from the cheap repository is "yamba", while the one from the universal text is "death".
> > 2. The word cloud from the cheap repository has four words that appear most prominent and are much bigger - and therefore more frequent in the text. They are "yamba", "now", "death" and "ye". The most prominent words in the universal text are "death", "yamba" and "africs". They appear a bit smaller than the words from the cheap repository, suggesting a lower frequency.
> >
> > ![Word Cloud of Cheap Repository Version](../../images/wc_cheap.png "Word Cloud of Cheap Repository Version")
> > ![Word Cloud of Universal Text Version](../../images/wc_universal.png "Word Cloud of Universal Text Version")
> {: .solution}
>
{: .question}

You can disable the window manager again by clicking on the item, then you will see your datasets again in your middle panel, once you click on its eye {% icon galaxy-eye %} symbol.

The visualisation suggests that the text's metrics, which we checked with the line and character count, and their messages differ. The cheap repository text addresses the reader with multiple mentions of "ye", you, which is rare in the second poem. In the universal poem, death is more central than yamba, which is the other way around in the cheap repository text.

With this text's length and just two poems, this is, of course, something you can find out by reading both texts. However, this distant reading approach can give you important preliminary insights to guide your close reading, particularly with bigger corpora.

Of course, the word cloud insights are just a first glance and do not allow a proper analysis; we need to compare both texts properly. But what is a good way to do this? We suggest comparing them side by side and line by line. For that, we adapt the layout once more.


## Replace spaces with line breaks to prepare side-by-side comparison

We used the tool to replace text before. We are not deleting something this time, as we did with the punctuation, but we are replacing some characters. To get a convenient layout that shows one word per line, we replace the spaces (\s) with line breaks (\n). That way, each word gets displayed in a different line, which prepares the detailed comparison in the next step.

Regular Expressions help again by changing all spaces with line breaks with just one command.


> <hands-on-title> Changing Layout of Poem One </hands-on-title>
>
> 1. Run {% icon workflow-run %} {% tool [Replace Text - in entire line](toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.5+galaxy2) %} with the following parameters:
>    - {% icon param-file %} *"File to process"*: `SoY_Cheap_Repo_cleaned.txt`
>    - In *"Replacement"*:
>        - {% icon param-repeat %} *"Insert Replacement"*
>            - *"Find pattern"*: `\s`
>            - *"Replace with:"*: `\n`
>
>
>    > <comment-title> How do I understand the RegEx commands? </comment-title>
>    >
>    > Don't worry, if you have never used regular expressions. Several websites help you find out what patterns to detect and how to catch the passages you need. For now, you can just add the symbols that stand for the space (\s) and the line break (\n).
>    {: .comment}
>
> 2. **Rename** {% icon galaxy-pencil %} this text `SoY_Cheap_Repo_word_per_line.txt`.
>
{: .hands_on}



When you click on the eye {% icon galaxy-eye %} icon of the data set in the history now, when the dataset turns green, you can see that it now contains one word per line. To match this, we repeat the step with the same parameters also for the second poem.


> <hands-on-title> Changing Layout of Poem Two </hands-on-title>
>
> 1. Run {% icon workflow-run %} {% tool [Replace Text - in entire line](toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/9.5+galaxy2) %} with the following parameters:
>    - {% icon param-file %} *"File to process"*: `SoY_Univ_Mag_cleaned.txt`
>    - In *"Replacement"*:
>        - {% icon param-repeat %} *"Insert Replacement"*
>            - *"Find pattern"*: `\s`
>            - *"Replace with:"*: `\n`
>
> 2. **Rename** {% icon galaxy-pencil %} this text `SoY_Univ_Mag_word_per_line.txt`.
>
{: .hands_on}



> <question-title></question-title>
>
> 1. How many lines long are the poems now?
>
> > <solution-title>  </solution-title>
> >
> > 1. When you click on the two names of the two new datasets you just worked on, you see that one is now 539, the other 1139 lines long. The number of lines now matches the word number we detected with the tool `Line/Word/Character count`.
> >
> {: .solution}
>
{: .question}

Now, both poems show one word per line, which is the perfect setup to compare them side by side. Use a tool called `diff` to visualise this. To get the same order as the tutorial, make sure to select the version from the Cheap Repository as the first input file and the one from the Universal Magazine as the second input file.

## Compare side-by-side with *diff*

> <hands-on-title> Compare the Poems </hands-on-title>
>
> 1. Run {% icon workflow-run %} {% tool [diff](toolshed.g2.bx.psu.edu/repos/bgruening/diff/diff/3.10+galaxy1) %} with the following parameters:
>    - {% icon param-file %} *"First input file"*: `SoY_Cheap_Repo_word_per_line.txt`
>    - {% icon param-file %} *"Second input file"*: `SoY_Univ_Mag_word_per_line.txt`
>    - *"Choose a report format"*: `Generates an HTML report to visualize the differences`
>    - *"Choose report output format"*: `Side by side`
>
>    > <comment-title> Different Report Formats </comment-title>
>    >
>    > The `diff` tool allows you to create different outputs, depending on your goal. In this case, the HTML report contains colours to highlight the changes between both texts, making it really useful for researchers to quickly identify. If you want to extract information automatically, the option `text file, side by side` could also be helpful.
>    {: .comment}
>
{: .hands_on}

We get two new files as a result. The HTML report and the raw output it is based on, in txt format.

> <question-title></question-title>
>
> 1. What is the first difference between the two texts visualized in the HTML report?
>
> > <solution-title></solution-title>
> >
> > 1. Lines 6-40 of the cheap poem are marked in green. They are not part of the universal poem. The couple of lines before and after are identical.
> >
> {: .solution}
>
{: .question}

In the HTML report, you can quickly identify deletions (in red) and additions (in green) between both texts.
You can also see smaller details, which you might quickly miss manually. Lines 63/64 and 28/29, respectively, show that also changes within one word (prisoner / prisner) are detected. You can furthermore see how the perspective was changed between the poems. While line 359-361 in the cheap repository text states "they sell us", the other text states "they sell them" (l. 298-300), suggesting the reader is (no longer) among the group which is sold. You can go through it and detect further changes in language and length.

Seeing this, you might want to go into detail with the respective themes once more. As "death" was central in both texts, we will extract sentences containing this word so you can analyze them more closely. The cleaned texts without punctuation and one word per line are not the easiest form for this. Instead, we use an earlier version from our history.

# Extract specific sentences

## Breaking text into sentences

We return to Regular Expressions a third time, but this time we use a different tool with further functionalities. We use it to divide the text into more lines, to make it easier to extract those containing the word "death." Here, punctuation is a helpful stop point. We use full stops to indicate a sentence, which will not be perfectly accurate but sufficient for this case. We then add a line break after the full stops to get complete sentences. Of course, you could spend more time on this and make it neater. Make sure to use not the last input but the poems without a hyperlink, but including punctuation. It will not work if the text contains no more full stops.

> <hands-on-title> Rearrange Poem One </hands-on-title>
>
> 1. Run {% icon workflow-run %} {% tool [Replace parts of text](toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/9.5+galaxy2) %} with the following parameters:
>    - {% icon param-file %} *"File to process"*: `SoY_Cheap_Repo.txt`
>    - In *"Find and Replace"*:
>        - {% icon param-repeat %} *"Insert Find and Replace"*
>            - *"Find pattern"*: `\.`
>            - *"Replace with"*: `\.\n`
>            - *"Find-Pattern is a regular expression"*: `Yes`
>            - *"Replace all occurences of the pattern"*: `Yes`
>            - *"Find and Replace text in"*: `entire line`
>
>    > <comment-title> What do those inputs mean? </comment-title>
>    >
>    > A full stop (.) has its own meaning in regular expressions. It stands for all elements. To show that we do not mean all characters but actually a full stop, we need to escape it in RegEx by putting `\.` instead of `.` if we mean a full stop. We want to add a line break afterwards, which we already learned is indicated as `\n`. The replacement pattern, therefore, is `\.\n`.
>    {: .comment}
>
> 2. **Rename** {% icon galaxy-pencil %} your resulting file to `SoY_Cheap_Repo_sent_per_line.txt`.
>
{: .hands_on}



Remember to redo this step for the second poem when you have finished this step.

> <hands-on-title> Rearrange Poem Two </hands-on-title>
>
> 1. Run {% icon workflow-run %} {% tool [Replace parts of text ](toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_find_and_replace/9.5+galaxy2) %} with the following parameters:
>    - {% icon param-file %} *"File to process"*: `SoY_Univ_Mag.txt`
>    - In *"Find and Replace"*:
>        - {% icon param-repeat %} *"Insert Find and Replace"*
>            - *"Find pattern"*: `\.`
>            - *"Replace with"*: `\.\n`
>            - *"Find-Pattern is a regular expression"*: `Yes`
>            - *"Replace all occurences of the pattern"*: `Yes`
>            - *"Find and Replace text in"*: `entire line`
>
> 2. **Rename** {% icon galaxy-pencil %} your resulting file to `SoY_Univ_Mag_sent_per_line.txt` for easier distinction.
>
{: .hands_on}

As a result, you get two files, each split at full stops. How can you now extract the sentences that are relevant to you?


## Extract sentences containing 'death'

Use {% tool [Search in textfiles](toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.5+galaxy2) %} to select all lines containing the word "death".

> <hands-on-title> Extract particular sentences </hands-on-title>
>
> 1. Run {% icon workflow-run %} {% tool [Search in textfiles](toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.5+galaxy2) %} with the following parameters:
>    - {% icon param-file %} *"Select lines from"*: `SoY_Cheap_Repo_sent_per_line.txt`
>    - *"Regular Expression"*: `death`
>
>    > <comment-title> Further Functionalities </comment-title>
>    >
>    > You can see that the tool has many parameters you can tweak.  The ones not mentioned here are kept at the default input, like `Match` and `Perl,` which is the kind of RegEx applied. But you could also select all lines that do not contain death by selecting `Do not match` or extracting lines before or after the line containing the content you chose.
>    {: .comment}
>
> 2. **Rename** {% icon galaxy-pencil %} your output `SoY_Cheap_Repo_death.txt`
>
{: .hands_on}



And for the last time, we redo this step for the second poem.

> <hands-on-title> Extract particular sentences from Poem Two </hands-on-title>
>
> 1. Run {% icon workflow-run %} {% tool [Search in textfiles](toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_grep_tool/9.5+galaxy2) %} with the following parameters:
>    - {% icon param-file %} *"Select lines from"*: `SoY_Univ_Mag_sent_per_line.txt`
>    - *"Regular Expression"*: `death`
>
> 2. **Rename** {% icon galaxy-pencil %} your output `SoY_Univ_Mag_death.txt`.
>
{: .hands_on}


When you enable the window manager at the top bar, you can click on the eye {% icon galaxy-eye %} symbols of your last two outputs and visualize them side by side in two different windows. Six and seven lines from the poem contain the term, respectively. You could analyze them in detail now to see where they differ. While the first lines are nearly identical, the last ones are completely different in both versions of the poem. An intriguing insight for further analysis. No wonder the poems and their many editions have sparked the interest of many researchers.

If you only analyze those two poems, you might find it easier to do those steps manually. But particularly, if you create a workflow out of this, you can reproduce this process with only a few clicks, saving you considerable work.

Learn how to [extract a workflow from the above analysis]({% link topics/galaxy-interface/tutorials/history-to-workflow/tutorial.html %}).

Alternatively, you can make your analysis more complex and extract further differences between the poems automatically to adapt the above analysis. For inspiration, check out
the [advanced tutorial on Text-Mining]({% link topics/digital-humanities/tutorials/text_mining_chinese/tutorial.html %}).

# Conclusion

Congratulations! You just finished your first analysis with Galaxy, well done! The tutorial covered the basic setup of Galaxy and how you can register, log in and upload your material. You are now familiar with terms in Galaxy, like history, dataset, tool, etc. We used several tools, learned to rerun them and how we can see the outputs in different ways. We used various versions of Regular Expressions to rearrange and clean your text. We also reshaped the text to compare it with the `diff` tool. In the end, we extracted notable sentences for further close reading.
The workflow created from this history would look as follows:

 ![Screenshot of Workflow extracted from the Tutorial Introduction to DH](../../images/WF_Intro_to_DH.png)

With all this knowledge in mind, you can now continue with one of our other tutorials or experiment with your own input. Enjoy!


[^1]: Thanks to Lilli Fortmeier for suggesting this use case!


# faqs

category: galaxy
filename: interactive_tools_jupyter_terminal
title: Open a Terminal in Jupyter
area: interactive tools
box_type: hands_on
content_hash: 762c9c63d19904cba341ec1490b92080
last_modified: 2026-02-26T21:12:13.719170
contributors_json: ["hexylena"]
content:
{% if required -%}
To best follow this tutorial, you should open a terminal.
{%- else -%}
This tutorial will let you accomplish almost everything from this view, running code in the cells below directly in the training material. You can choose between running the code here, or opening up a terminal tab in which to run it.
{%- endif -%}
Here are some instructions for how to do this on various environments.

**Jupyter** on UseGalaxy.\* and **MyBinder.org**

1. Use the File → New → Terminal menu to launch a terminal.

   ![screenshot of jupyterlab showing the File menu expanded to show new and terminal option.]({% link topics/data-science/images/carpentries-cli/mybinder-launch.png %})

2. Disable "Simple" mode in the bottom left hand corner, if it activated.

   ![screenshot of jupyterlab showing a toggle labelled simple]({% link topics/data-science/images/carpentries-cli/mybinder-simple.png %})

3. Drag one of the terminal or notebook tabs to the side to have the training materials and terminal side-by-side

   ![screenshot of jupyterlab with notebook and terminal side-by-side.]({% link topics/data-science/images/carpentries-cli/mybinder-final.png %})

**CoCalc**

1. Use the *Split View* functionality of cocalc to split your view into two portions.

   ![screenshot of cocalc button to split views]({% link topics/data-science/images/carpentries-cli/cocalc-split.png %})

2. Change the view of one panel to a terminal

   ![screenshot of cocalc swapping view port to that of a terminal]({% link topics/data-science/images/carpentries-cli/cocalc-terminal.png %})


category: galaxy
filename: histories_transfer_entire_histories_from_one_galaxy_server_to_another
title: Transfer entire histories from one Galaxy server to another
area: histories
box_type: tip
content_hash: 950bb0ee8024abdc674b25356e88c539
last_modified: 2026-02-26T21:12:13.707385
contributors_json: ["jennaj", "AnomalyCodes"]
content:
**Transfer a Single Dataset**

At the **sender** Galaxy server, [set the history to a shared state]({% link faqs/galaxy/histories_sharing.md %}), then directly capture the {% icon galaxy-link %} link for a dataset and paste the URL into the **Upload** tool at the **receiver** Galaxy server. 

**Transfer an Entire History**

[Have an account]({% link faqs/galaxy/account_create.md %}) at two different Galaxy servers, and be logged into both.

At the **sender** Galaxy server

1. Navigate to the history you want to transfer, and [set the history to a shared state]({% link faqs/galaxy/histories_sharing.md %}).
2. Click into the **History Options** menu in the history panel.
3. Select from the menu {% icon galaxy-history-archive %} **Export History to File**.
4. Choose the option for **How do you want to export this History?** as **to direct download**.
5. Click on **Generate direct download**.
6. Allow the archive generation process to complete. \*
7. Copy the {% icon galaxy-link %} link for your new archive.

At the **receiver** Galaxy server

8. Confirm that you are logged into your account.
9. Click on **Data** in the top menu, and choose **Histories** to reach your **Saved Histories**.
10. Click on **Import history** in the grey button on the top right.
11. Paste in your link's URL from step 7.
12. Click on **Import History**.
13. Allow the archive import process to complete. \*
14. The transfered history will be uncompressed and added to your **Saved Histories**.


\* For steps 6 and 13: It is Ok to navigate away for other tasks during processing. If enabled, Galaxy will send you [status notifications]({% link faqs/galaxy/account_update_preference.md %}).


{% icon tip %} If the history to transfer is large, you may [copy just your important datasets into a new history]({% link faqs/galaxy/histories_copy_dataset.md %}), and create the archive from that new smaller history. Clearing away deleted and purged datasets will make *all* histories smaller and faster to archive and transfer!


category: galaxy
filename: workflows_annotate
title: Annotate a workflow
area: workflows
box_type: tip
content_hash: a8569c69acfba873e6da2b1ea8a4d7b5
last_modified: 2026-02-26T21:12:13.723601
contributors_json: ["bebatut"]
content:
- Open the workflow editor for the workflow
- Click on {% icon galaxy-pencil %} **Edit Attributes** on the top right
- Write a description of the workflow in the **Annotation** box
- Add a tag (which will help to search for the workflow) in the **Tags** section


category: galaxy
filename: re_use_equivalent_jobs
title: How do I re-use equivalent jobs in Galaxy (aka Job Cache)?
area: features
box_type: tip
content_hash: 226ad1bbf6e260eacc5cbab1bc73a08f
last_modified: 2026-02-26T21:12:13.720070
contributors_json: ["dadrasarmin", "teresa-m"]
content:
We can reuse the reproducibility of Galaxy to detect if a tool has been run with the exact same parameters and inputs before. In this case, we can simply skip the computational step and just reuse the
data we have previously computed. We call this feature the `job cache`. Part of the `job cache` is all your personal data and all data in public histories. 
This can be highly helpful, e.g., for training events, if the instructor makes a respective training history public before the event. 
If the trainee activates this option in their account and uses the same input and parameters, they will immediately receive the results. This feature reduces the waiting time in the training sessions,
saves energy and computational resources, and therefore reduces environmental impact.

To activate this feature, take the following steps:

1. To activate this option for your account, click on your username at the top right of the page.
- Select `Preferences` and navigate to your user-references.
- In your middle panel search for `Manage Information` and select them. You can also navigate to "https://<your-galaxy-server.domain>/user" — for example, https://usegalaxy.eu/user.
- Find the grey box: `Do you want to be able to re-use equivalent jobs?` 
- Within the box, change the slider from `no` to `yes`.
- Scroll down to the bottom of the page and click the `Save` button.

2. For every tool you want to run now, you will notice the option `Attempt to re-use jobs with identical parameters?`. To test this:
- Click on any tool you would like to run
- If you scroll down to the end of the  `Tool Parameters` section until you see the `Run tool` button, you will notice the new option `Attempt to re-use jobs with identical parameters?` above the `Run tool` button.
- You can enable this option by sliding the `No` to `Yes`
- Once you click on the `Run tool`, Galaxy will check if this tool was run before with the exact same parameters and inputs. If so, the results will be retrieved from the `job cache` and **not** be calculated.

⚠️ At the moment, this feature only works with data shared/reused inside Galaxy. If you upload the same file twice, we can not detect that it is the same file.


category: galaxy
filename: datasets_import_from_remote_files
title: Importing data from remote files
area: data upload
box_type: tip
content_hash: 9bfc740271ce88535c6fefec8a0fd497
last_modified: 2026-02-26T21:12:13.702910
contributors_json: ["bebatut", "shiltemann", "nsoranzo", "hexylena", "wm75", "Quickbeasts51429"]
content:
As an alternative to uploading the data from a URL or your computer, the files may also have been made available from a *Choose remote files*:

1. Click on **Upload Data** on the top of the left panel
2. Click on **Choose remote files** and scroll down to find your data folder or type the folder name in the `search box` on the top.
   {% if include.location %}
     - Look for your data under:`{{ include.location }}`
   {% endif %}
3. click on **OK**
4. Click on **Start**
5. Click on **Close**
6. You can find the dataset has begun loading in you history.


category: galaxy
filename: tutorial_mode
title: Using tutorial mode
area: tools
box_type: tip
content_hash: 86ea34c451a0c18bd07a470c37a9f414
last_modified: 2026-02-26T21:12:13.722936
contributors_json: ["shiltemann", "nomadscientist"]
content:
Tools are frequently updated to new versions. Your Galaxy may have multiple versions of the same tool available. By default, you will be shown the latest version of the tool. This may NOT be the same tool used in the tutorial you are accessing. Furthermore, if you use a newer tool in one step, and try using an older tool in the next step... this may fail! To ensure you use the same tool versions of a given tutorial, use the **Tutorial mode** feature.

  - Open your Galaxy server
  - Click on the {% icon curriculum %} icon on the top menu, this will open the GTN inside Galaxy.
  - Navigate to your tutorial
  - Tool names in tutorials will be blue buttons that open the correct tool for you
  - **Note:** this does not work for all tutorials (yet)
  ![gif showing how GTN-in-Galaxy works]({% link topics/contributing/images/88277962-ddda4a80-cce1-11ea-92cd-41b1df063db0.gif %})
  - You can click anywhere in the grey-ed out area outside of the tutorial box to return back to the Galaxy analytical interface

> <warning-title>Not all browsers work!</warning-title>
> - We've had some issues with Tutorial mode on Safari for Mac users. 
> - Try a **different browser** if you aren't seeing the button.
{: .warning}


category: galaxy
filename: user_preferences_manage_information
title: Changing account email or password
area: account
box_type: tip
content_hash: 56b10f3821e974cfd39151e28f2ddfaf
last_modified: 2026-02-26T21:12:13.723214
contributors_json: ["jennaj", "Melkeb"]
content:
Start at the Galaxy server where you are working. Remember that accounts at different Galaxy servers are distinct.
1. Log into your account.
2. Go to **User -> Preferences** in the masthead (find this on the right, near the top).
3. Click on **Manage Information**.
4. You may change your email address and public name on the form.
5. Your may also change your password by clicking on **Change Password**.
6. When done, click on the **Save** button at the bottom.
7. Go to your email account to find the message from us. Verify your account changes by clicking on the activation link. No email? Check your spam and trash folders.
8. Try logging into Galaxy with your new credentials!

{% icon tip %} Notes

* Please do not open a new account if your email changes, instead, update the existing account's email address. 
* We cannot merge accounts. Download your data then delete any excess accounts created by accident.


category: galaxy
filename: datasets_chromosome_identifiers
title: Mismatched Chromosome identifiers and how to avoid them
area: datasets
box_type: tip
content_hash: 3c39e26df85a09b1f42219926fcd0e8b
last_modified: 2026-02-26T21:12:13.701893
contributors_json: ["jennaj", "Melkeb"]
content:
Reference data mismatches are similiar to bad reagents in a wet lab experiment: all sorts of odd problems can come up!

You inputs must be all based on an identical genome assembly build to achieve correct scientific results.

There are two areas to review for data to be considered **identical**.
1. The data are based on the same exact genome **assembly** (or "assembly release").
  * The "assembly" refers to the nucleotide sequence of the genome.
  * If the base order and length of the chromosomes are not the same, then your coordinates will have scientific problems.
  * Converting coordinates between assemblies may be possible. Search tool panel with `CrossMap`.
2. The data are based on the same exact genome assembly **build**.
  * The "build" refers to the labels used inside the file. In this context, pay attention to the chromosome identifiers.
  * These all may mean the same thing to a person but not to a computer or tool: chr1, Chr1, 1, chr1.1
  * Converting identifiers between builds may be possible. Search tool panel with `Replace`.
     
The methods listed below help to identify and correct errors or unexpected results when the underlying genome assembly build for all inputs are **not identical**.

**Method 1**: [Finding BAM dataset identifiers]({% link faqs/galaxy/datasets_BAM_dataset_identifiers.md %})

**Method 2**: [Directly obtaining UCSC sourced *genome* identifiers]({% link faqs/galaxy/datasets_UCSC_sourced_genome.md %})

**Method 3**: [Adjusting identifiers for UCSC sourced data used with other sourced data](https://galaxyproject.org/support/chrom-identifiers/#adjusting-identifiers-or-input-source)

**Method 4**: [Adjusting identifiers or input source for any mixed sourced data](https://galaxyproject.org/support/chrom-identifiers/#any-mixed-sourced-data)


{% icon tip %} Reference data is self referential. [More help for your genome, transcriptome, and annotation]({% link faqs/galaxy/analysis_differential_expression_help.md %})

{% icon tip %} Genome not available as a native index? [Use a custom genome fasta]({% link faqs/galaxy/reference_genomes_custom_genomes.md %}) and [create a custom build database]({% link faqs/galaxy/analysis_add_custom_build.md %}) instead.

{% icon tip %} More notes on Native Reference Genomes

* Native **reference genomes** (FASTA) are built as pre-computed indexes on the Galaxy server where you are working.
* Different servers host both common *and* different reference genome data.
* Most **reference annotation** (tabular, GTF, GFF3) is supplied from the history by the user, even when the genome is indexed.
* Public Galaxy servers source reference genomes preferentially from [UCSC](https://hgdownload.soe.ucsc.edu/downloads.html).
* A **reference transcriptome** (FASTA) is supplied from the history by the user.
* Many experiements use a combination of all three types of reference data. Consider pre-preparing your files at the start!
* The default variant for a native genome index is "Full". Defined as: all primary chromosomes (or scaffolds/contigs) including mitochondrial plus associated unmapped, plasmid, and other segments.
* When only one version of a genome is available for a tool, it represents the default "Full" variant.
* Some genomes will have more than one variant available.
* The "Canonical Male" or sometimes simply "Canonical" variant contains the primary chromosomes for a genome. For example a human "Canonical" variant contains chr1-chr22, chrX, chrY, and chrM.
* The "Canonical Female" variant contains the primary chromosomes excluding chrY.


category: galaxy
filename: analysis_differential_expression_help
title: Extended Help for Differential Expression Analysis Tools
area: analysis
box_type: tip
content_hash: 67d6c803ab03efc63a3cd7a6f0ce1ebe
last_modified: 2026-02-26T21:12:13.699571
contributors_json: ["jennaj", "Melkeb"]
content:
The error and usage help in this FAQ applies to most if not all Bioconductor tools.

- DEseq2
- Limma
- edgeR
- goseq
- Diffbind
- StringTie
- Featurecounts
- HTSeq-count
- HTseq-clip
- Kalisto
- Salmon
- Sailfish
- DEXSeq
- DEXSeq-count
- IsoformSwitchAnalyzeR

{% icon galaxy-info %}  Review your error messages and you'll find some clues about what may be going wrong and what needs to be adjusted in your rerun. If you are getting a message from `R`, that usually means the underlying tool could not read in or understand your inputs. This can be a labeling problem (what was typed on the form) or a content problem (data within the files).

Expect odd errors or content problems if any of the usage requirements below are not met.

General

- Are your reference genome, reference transcriptome, and reference annotation all based on the same genome assembly?
    * Check the identifiers in all inputs and adjust as needed.
    * These all may mean the same thing to a person but not to a computer or tool: chr1, Chr1, 1, chr1.1
- Differential expression tools all require sample count replicates. [Rationale from two of the DEseq tool authors](https://www.seqanswers.com/forum/bioinformatics/bioinformatics-aa/26388-deseq2-without-biol-replicates).
    * At least two factor levels/groups/conditions with two samples each.
    * All must all contain unique content for valid scientific results.
- Factor/Factor level names should only contain alphanumeric characters and optionally underscores.
    * Avoid starting these with a number and do not include spaces.
    * Galaxy *may* be able to normalize these values for you, but if you are getting an error: standardize the format yourself.
- **DEXSeq** additionally requires that the first Condition is labeled as `Condition`.
- If your count inputs have a header, the option **Files have header?** is set to **Yes**. If no headers, set to **No**. 
    * If your files have more than one header line: keep the sample header line, remove all extra line(s).
- Make sure that tool form settings match your annotation content or the tool cannot match up the inputs!
    * If you are counting by **gene_id**, your annotation should contain gene_id attributes (9th column)
    * If you are summarizing by **exon**, your annotation should contain exon features (3rd column)
- Sometimes these tools do not understand `transcript_id.N` and `gene_id.N` notation (where N is a version number).
    * This notation could be in fasta or tabular inputs.
    * Try [removing `.N` from all inputs]({% link search2.html %}?query=olympics), and check for the accidental creation of new duplicates!
- Errors? [Understanding the job log messages]({% link faqs/galaxy/analysis_troubleshooting.md %}) can be confusing! But are accessible and worth reviewing.
    * The good news is that usage in Galaxy produces the same error messages as direct usage.
    * This means that a search at the [Bioconductor Support](https://support.bioconductor.org/) website can provide useful clues! Come back to the [Galaxy Help](https://help.galaxyproject.org/) forum with any remaining questions.

{% icon tip %} Remember, for any value in your inputs that is not a number, using only alphanumeric characters and optionally underscores `_` with no spaces is what the authors recommend. Check your factor names, sample names, gene identifiers, transcript identifiers, and header lines in files.

Reference genome (fasta)

- Can be a server reference genome (hosted index in the pull down menu) or a custom reference genome (fasta from the history).
- Custom reference genomes must be [formatted correctly]({% link faqs/galaxy/reference_genomes_custom_genomes.md %}).
- If you are using **Salmon** or **Kalisto**, you probably don't need a reference genome but a reference transcriptome instead!
- More about understanding and [working with large fasta datasets]({% link faqs/galaxy/datasets_working_with_fasta.md %}).

Reference transcriptome (fasta)

- Fasta file containing assembled transcripts.
- Unassembled short or long reads will not work as a substitute.
- The transcript identifiers on the `>seq` fasta lines must exactly match the `transcript_id` values in your annotation or tabular mapping file.
  
Reference annotation (tabular, GTF, GFF3)

- Reference annotation [in GTF format]({% link faqs/galaxy/datasets_working_with_reference_annotation.md %}) works best.
- If a GTF dataset is not available for your genome, a two-column tabular dataset containing `transcript <tab> gene` can be used instead with most of these tools. 
- **HTseq-count** requires GTF attributes. Featurecounts is an alternative tool choice.
- Sometimes the tool **gffread** is used to transform GFF3 data to GTF. 
- DO use UCSC's reference annotation (GTF) and reference transcriptome (fasta) data from their [Downloads](https://hgdownload.soe.ucsc.edu/downloads.html) area.
    * These are a match for the UCSC genomes indexed at public Galaxy servers.
    * Links can be directly copy/pasted into the Upload tool.
    * Allow Galaxy to *autodetect the datatype* to produce an uncompressed dataset in your history ready to use with tools.
- Avoid GTF data from the UCSC Table Browser: this leads to scientific problems. GTFs will have the same content populated for both the transcript_id and gene_id values. See the note at UCSC for more about why.
- Still have problems? Try removing all GTF header lines with the tool **Remove beginning of a file**.
- More about understanding and [working with GTF/GFF/GFF3 reference annotation]({% link faqs/galaxy/datasets_working_with_reference_annotation.md %})


category: galaxy
filename: datatypes_tabular
title: Identifying and formatting Tabular Datasets
area: datatypes
box_type: tip
content_hash: 4142b22a60e5a64d8dc6b37a6a5baf77
last_modified: 2026-02-26T21:12:13.704948
contributors_json: ["jennaj", "beachyesh"]
content:
A Tabular datatype is human readable and has tabs separating data columns. Please note that tabular data is different from comma separated data (.csv) and the common datatypes are: `.bed`, `.gtf`, `.interval`, or `.txt`.
1. Click the pencil icon {% icon galaxy-pencil %} to reach the **_Edit Attributes_** form.
   1. Change the datatype (3rd tab) and save.
   2. Label columns (1st tab) and save.
   3. Metadata will be assigned, then the dataset can be used.
2. If the required input is a BED or Interval datatype, adjusting (``.tab`` → ``.bed``, ``.tab`` → ``.interval``) maybe possible using a combination of **_Text Manipulation_** tools, to create a dataset that matches required specifications.
3. Some tools require that BED format be followed, even if the datatype Interval (with less strict column ordering) is accepted on the tool form.
   - These tools will fail, if they are run with malformed BED datasets or non-specific column assignments.
   - **Solution**: reorganize the data to be in BED format and rerun.


category: galaxy
filename: histories_tagging
title: History tagging
area: histories
box_type: tip
content_hash: 52216edbe3243f897fddfabfc3baf161
last_modified: 2026-02-26T21:12:13.707197
contributors_json: ["nekrut"]
content:
Tags are short pieces of text used to describe the thing they're attached to and many things in Galaxy can be tagged.
Each item can have many tags and you can add new tags or remove them at any time. Tags can be another useful way to
organize and search your data. For instance, you might tag a history with the type of analysis you did in it: `assembly`
or `variants`. Or you may tag them according to data sources or some other metadata: `long-term-care-facility` or
`yellowstone-park:2014`.

**To tag a history:**

1. Click on {% icon galaxy-pencil %} (**Edit**) next to the history name (which by default is "Unnamed history").
2. Click on **Add tags** {% icon galaxy-tags %} and start typing. Any tags that you've used previously will show below your partial entry -
  allowing you to use this 'autocomplete' data to re-use your previous tags without typing them in full.
3. Click on **Save** {% icon galaxy-save %}.
4. To cancel, click the {% icon galaxy-undo %} "Cancel" button.

> <warning-title>Do not use spaces</warning-title>
> It is strongly recommended to replace spaces in tags with `_` or `-`, as spaces will automatically be removed when the tag is saved.
{: .warning}

![UI for tagging histories]({% link shared/images/history_tags.png %})


category: galaxy
filename: datasets_upload
title: Upload few files (1-10)
area: data upload
box_type: tip
content_hash: 472911a4c0e24c9de88f515d319b06b6
last_modified: 2026-02-26T21:12:13.703825
contributors_json: ["bebatut"]
content:
1. Click on **Upload Data** on the top of the left panel
2. Click on **Choose local file** and select the files or drop the files in the **Drop files here** part
3. Click on **Start**
4. Click on **Close**


category: galaxy
filename: datasets_job_status
title: Understanding job statuses
area: datasets
box_type: tip
content_hash: d838379fe70d56de50c42a9da35055d4
last_modified: 2026-02-26T21:12:13.703077
contributors_json: ["jennaj", "garimavs"]
content:
Compare the color of your datasets to these job processing stages.

- **Grey**: The job is queued. Allow this to complete!
- **Yellow**: The job is executing. Allow this to complete! 
- **Green**: The job has completed successfully.
- **Red**: The job has failed. Check your inputs and parameters with Help examples and GTN tutorials. Scroll to the bottom of the tool form to find these.
- **Light Blue**: The job is paused. This indicates either an input has a problem or that you have exceeded the disk quota set by the administrator of the Galaxy instance you are working on.
- **Grey, Yellow, Grey again**: The job is waiting to run due to admin re-run or an automatic fail-over to a longer-running cluster.

{% icon galaxy-info %}  Don't lose your queue placement! **It is _essential_ to allow queued jobs to remain queued, and to never interrupt an executing job.** If you delete/re-run jobs, they are added back to the _end of the queue again_. 

Related FAQs
- [Troubleshooting errors]({% link faqs/galaxy/analysis_troubleshooting.md %})
- [My jobs aren't running!]({% link faqs/galaxy/analysis_jobs_not_running.md %})
- [Extended Help for Differential Expression Analysis Tools]({% link faqs/galaxy/analysis_differential_expression_help.md %})


category: galaxy
filename: datasets_change_dbkey
title: Changing database/build (dbkey)
area: datasets
box_type: tip
content_hash: 710bb59e876240066044dc8486ee22d8
last_modified: 2026-02-26T21:12:13.701803
contributors_json: ["shiltemann", "hexylena", "nekrut"]
content:
- Click the desired dataset's name to expand it.
- Click on the "?" next to database indicator:

  ![UI for changing dbkey]({% link shared/images/datasets_dbkey.svg %})

- In the central panel, change the **Database/Build** field
- Select your desired database key from the dropdown list{% if include.dbkey %}: `{{ include.dbkey }}`{% endif %}
- Click the **Save** button


category: galaxy
filename: histories_shared
title: Finding and working with "Histories shared with me"
area: histories
box_type: tip
content_hash: f36b5999c34f9770235c3f80fab8e7d5
last_modified: 2026-02-26T21:12:13.706839
contributors_json: ["jennaj", "garimavs"]
content:
**To find histories shared with me:**
1. Log into your account.
2. Select **User**, in the drop-down menu, select **Histories shared with me**.

**To work with shared histories:**
- Import the History into your account via copying it to work with it.
- Unshare Histories that you no longer want shared with you or that you have already made a copy of.

**Note:** Shared Histories (when copied into your account or not) do count in portion toward your total account data quota usage. More details on histories shared concerning account quota usage can be found in [this link]({% link faqs/galaxy/histories_unsharing_histories.md %}).


category: galaxy
filename: workflows_run_ds
title: Importing and Launching a Dockstore Workflow
area: workflows
box_type: hands_on
content_hash: 6d916f4b220f28a7d1008d3cbb8c48d4
last_modified: 2026-02-26T21:12:13.725162
contributors_json: ["hexylena", "wm75"]
content:
<!-- GTN:IGNORE:011 _blank is used here due to iframeing sites that (can) set x-frame-options. The contexts in which _blank is set are only visible when iframe'd -->

{% if include.dockstore_id %}
{% capture external_page %}https://dockstore.org/workflows/{{ include.dockstore_id }}:{{ include.version }}{% endcapture %}
<div class="show-when-galaxy-proxy-active">


<a class="workflow" target="_top" href="/workflows/trs_import?trs_server=dockstore.org&run_form=true&trs_id=%23workflow/{{ include.dockstore_id }}&trs_version={{ include.version }}">
  Launch <strong>{{ include.title }} ({{ include.version }})</strong> <i class="fas fa-share-alt" aria-hidden="true"></i>
</a>
(<a target="_blank" href="{{ external_page }}">View on Dockstore</a>)

</div>

<div class="hide-when-galaxy-proxy-active">

<a href="https://my.galaxy.training/?path=/workflows/trs_import%3ftrs_server=dockstore.org%26run_form=true%26trs_id=%2523workflow/{{ include.dockstore_id }}%26trs_version={{ include.version }}">
  Launch <strong>{{ include.title }} ({{ include.version }})</strong> <i class="fas fa-share-alt" aria-hidden="true"></i>
</a>
(<a href="{{ external_page }}">View on Dockstore</a>)

</div>

{% snippet faqs/galaxy/workflows_import_from_dockstore.md override_title="If this does not work" dockstore_id=include.dockstore_id %}

{% else %}

1. Go to {% icon galaxy-workflows-activity %} [Workflows → Import](https://my.galaxy.training/?path=/workflows/import) in your Galaxy
2. Switch tabs to TRS ID
3. Ensure the *"TRS server"* is set to "Dockstore"
4. Provide your *"TRS ID"* (copied from your workflow's Dockstore page)
5. Select the workflow version you want to import

{% endif %}


category: galaxy
filename: account_reduce_quota_usage
title: How can I reduce quota usage while still retaining prior work (data, tools, methods)?
area: account
box_type: tip
content_hash: 9d05cdaec8786567701bbc287a996c9f
last_modified: 2026-02-26T21:12:13.698953
contributors_json: ["jennaj", "bernandez"]
content:
* [**Download**]({% link faqs/galaxy/datasets_download_datasets.md %}) Datasets as individual files or entire Histories as an archive. Then *purge* them from the public server.
* **Transfer/Move** [Datasets]({% link faqs/galaxy/datasets_moving_datasets_between_galaxy_servers.md %}) or [Histories]({% link faqs/galaxy/histories_transfer_entire_histories_from_one_galaxy_server_to_another.md %}) to another Galaxy server, including your own Galaxy. Then purge.
* [**Copy**]({% link faqs/galaxy/histories_copy_dataset.md %}) your most important Datasets into a new/other History (inputs, results), then purge the original full History.
* [**Extract**]({% link faqs/galaxy/workflows_extract_from_history.md %}) a **Workflow** from the History, then purge it.
* **Back-up your work**. It is a best practice to download an archive of your FULL original Histories periodically, even those still in use, as a backup.

**Resources** Much discussion about all of the above options can be found at the [Galaxy Help forum](https://help.galaxyproject.org/).


category: galaxy
filename: fastq_groupmerge
title: Merge Reads for Co/Grouped Assembly
area: analysis
box_type: tip
content_hash: 56e068eae24c11556b77f13f6b34ad88
last_modified: 2026-02-26T21:12:13.705385
contributors_json: ["paulzierep"]
content:
**Co-assembly** is the process of assembling reads from multiple metagenomic samples together into contigs or genomes (MAGs), instead of assembling each sample individually. If only subsets of samples are assembled together, this can also be referred to as **grouped assembly**.

In principle, co- or grouped assembly can be performed with any assembler by merging reads from the desired samples before running the assembly.

To simplify this process, we provide the {% tool [Fastq GroupMerge](toolshed.g2.bx.psu.edu/repos/iuc/fastq_groupmerge/fastq_groupmerge/1.0.1+galaxy0) %} tool. This tool allows flexible grouping (including multiple groupings) using a simple tabular file, as shown below:

| sample  | group |
| ------- | ----- |
| reads_A | 1     |
| reads_B | 1     |
| reads_B | 2     |
| reads_C | 3     |

**Explanation of the example:**

* Reads from **A** and **B** will be merged into a new synthetic sample called **1**.
* Reads from **B** will also be kept individually as **sample 2**.
* Reads from **C** will remain as **sample 3**.

The tool supports merging of **both single-end and paired-end reads**, making it flexible for various sequencing datasets.


category: galaxy
filename: manage_your_galaxy_storage
title: How do I manage my Galaxy storage?
area: features
box_type: tip
content_hash: 35069d611d2e9951216800eca69f9484
last_modified: 2026-02-26T21:12:13.719752
contributors_json: ["dadrasarmin"]
content:
Now, it is possible to bring your own Storage to Galaxy for computation, storage, and archiving of your results. You can add more storage options to your account by following these steps:

- Click on your Username on top right part of the website and then click on `Preferences`.
- From the middle panel, click on the `Manage Your Galaxy Storage` (previously called `Storage location`).
- Click on the `+ Create` button on top of the page. Here, you get multiple options to connect various storage options to your account.

For all of the possible storage options, you should fill the following fields:

- In the `Name` section, give a name to your storage. This name will be used to choose the storage on Galaxy when you want to select a Storage using `User preferences > Preferred Galaxy Storage`.
- Optionally, you can provide a `Description` for this Storage. This is a note for yourself.


{% include _includes/cyoa-choices.html option1="Onedata Storage" option2="Amazon Web Services S3 Storage" option3="Azure Blob Storage" option4="Google Cloud Storage" option5="Any S3 Compatible Storage" default="Any S3 Compatible Storage" text="Select the Storage you like to add to your Galaxy account." disambiguation="BYOS" %}

<div class="Onedata-Storage" markdown="1">
If you have an account in [Onedata](https://onedata.org/), you can use such an object store as a Storage for your Galaxy datasets; they will be stored in the Onedata space of your choice. The minimal supported Onezone version is 21.02.4. More information on Onedata can be found on [Onedata's website](https://onedata.org/#/home).

There are extensive tutorials for setting up and utilizing of OneData on Galaxy Training Network (GTN). At the moment, we have the following tutorials for Onedata on GTN:
1. [Getting started with Onedata distributed storage]( {% link topics/galaxy-interface/tutorials/onedata-getting-started/tutorial.md %} )
2. [Onedata user-owned storage]( {% link topics/galaxy-interface/tutorials/onedata-byos/tutorial.md %} )
3. [Setting up a dev Onedata instance]( {% link topics/dev/tutorials/onedata-dev-instance/tutorial.md %} )
4. [Configuring the Onedata connectors (remotes, Object Store, BYOS, BYOD)]( {% link topics/admin/tutorials/onedata-configuration/tutorial.md %} )

In short, you can connect your Galaxy account to an Onedata Storage as follows:

- In the `Onezone domain` field, please fill in the address to your `Onezone` domain. It could be something like "datahub.egi.eu".
- In case you want to disable validation of SSL certificates, you can use `Disable tls certificate validation?` option. However, we strongly recommend you to not use this option unless you know what your are doing.
- Provide name of a space that Galaxy data will be stored on Onedata using `Space Name`. If there is more than one space with the same name, you can explicitly specify which one to select by using the format `<space_name>@<space_id>` (for example `demo@7285220ecc636075ae5759aec7ad65d3cha8f9`).
- If you want to provide a path to store Galaxy data, you can use the `Galaxy root directory` field. If this field is empty, the data will be stored in the space's root directory.
- You should provide an `Access Token` to Galaxy for the Onedata space. Your [access token](https://onedata.org/#/home/documentation/topic/stable/tokens), suitable for REST API access in a Oneprovider service. **Must** allow both read and write data access.
- Click on `Create`.
</div>
<div class="Amazon-Web-Services-S3-Storage" markdown="1">
Amazon's Simple Storage Service (S3) is Amazon's primary cloud storage service. More information on S3 can be found in [Amazon's documentation](https://aws.amazon.com/s3/). You have to create a [bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingBucket.html) to use in your AWS web console before using this feature.
- You have to provide an `Access Key ID` to be able to use AWS Storage on Galaxy. A security credential for interacting with AWS services can be created from your [AWS web console](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html). Creating an "Access Key" creates a pair of keys used to identify and authenticate access to your AWS account - the first part of the pair is "Access Key ID" and should be entered here. The second part of your key is the secret part called the "Secret Access Key". Place that in the secure part of this form below.
- Provide the [AWS S3 Bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingBucket.html) to store your datasets in the `Bucket` field.
- You should enter the second part of the key you created above, `Access Key ID`, in the `Secret Access Key` section. Read more on access keys on [AWS documentation](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html).
- Click on `Create`.
</div>
<div class="Azure-Blob-Storage" markdown="1">
To setup access to your [Azure Blob Storage](https://learn.microsoft.com/en-us/azure/storage/blobs/storage-blobs-introduction) within the Galaxy, follow the steps:
- Provide the name of your Azure Blob Storage account in the `Container Name` field. More information about container's name could be found on [the Microsoft documentation here](https://learn.microsoft.com/en-us/azure/storage/blobs/storage-blobs-introduction#containers).
- Fill the `Storage Account Name` based on your account. More information is available [on Microsoft website](https://learn.microsoft.com/en-us/azure/storage/common/storage-account-overview).
- Please provide the account access key to your Azur Blob Storage account, using `Account Key` field. This is the documentation on [Managing storage account access keys](https://learn.microsoft.com/en-us/azure/storage/common/storage-account-keys-manage?tabs=azure-portal).
- Click on `Create`.
</div>
<div class="Google-Cloud-Storage" markdown="1">
For the setup you will need to generate [HMAC Keys](https://cloud.google.com/storage/docs/authentication/hmackeys) - these can be linked to your user or a service account. Additionally, you will need to define a [default Google cloud project](https://cloud.google.com/storage/docs/aws-simple-migration#defaultproj) to allow Galaxy to access your Google Cloud Storage via the interfaces described in this FAQs.

- To connect Galaxy to your Google Cloud Storage, you have to generate [HMAC Keys](https://cloud.google.com/storage/docs/authentication/hmackeys). You can use the information after generating the keys to fill the `Access ID` field.
- Use the `Bucket` field to specify the name of [bucket](https://cloud.google.com/storage/docs/buckets) you have created to store your Galaxy data. Documentation for how to create buckets can be found in[ this part of the Google Cloud Storage documentation](https://cloud.google.com/storage/docs/creating-buckets).
- You will receive a `Secret Key` after you generated [HMAC Keys](https://cloud.google.com/storage/docs/authentication/hmackeys). Secret Key should be 40 characters long and look something like the example used the Google documentation - `bGoa+V7g/yqDXvKRqq+JTFn4uQZbPiQJo4pf9RzJ`.
- Click on `Create`.
</div>
<div class="Any-S3-Compatible-Storage" markdown="1">
The APIs used to connect to Amazon's S3 (Simple Storage Service) have become something of an unofficial standard for cloud storage across a variety of vendors and services. Many vendors offer storage APIs compatible with S3. Here, you can configure such service as a Galaxy storage as long as you are able to find the connection details and have the relevant credentials.

- Provide the `Access Key ID`. This is part of your access tokens or access keys that describe the user that is accessing the data. The [Amazon documentation](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html) calls these an "access key ID", the [CloudFlare documentation](https://developers.cloudflare.com/r2/examples/aws/boto3/) describes these as "aws_access_key_id". Internally to Galaxy, we often just call this the "access_key".
- Provide the `Bucket` name. The [bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingBucket.html) to store your datasets in. How to setup buckets for your storage will vary from service to service but all S3 compatible storage services should have the concept of a bucket to namespace a grouping of your data together with.
- Using the `S3-Compatible API Endpoint`, you should provide the endpoint URL for your storage service. It is also called "endpoint URL" in some services and the format varies based on the providers. For example, [CloudFlare endpoint URL](https://developers.cloudflare.com/ruleset-engine/rulesets-api/endpoints/) is something like `john.r2.cloudflarestorage.com` and [MinIO](https://min.io/docs/minio/linux/integrations/aws-cli-with-minio.html) endpoint URL is similar to `https://play.min.io:9000`.
- `Secret Access Key` compliment your `Access Key ID` to connect to the S3 compatible storage. The [Amazon documentation](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html) calls these an "secret access key" and the [CloudFlare documentation](https://developers.cloudflare.com/r2/examples/aws/boto3/) describes these as "aws_secret_access_key". Internally to Galaxy, we often just call this the "secret_key".
- Click on `Create`.
</div>

> <tip-title>What can you do after you connected a Storage</tip-title>
>
> You can pick the connected Storage for your analysis as follows:
> 1. Click on your username. Click on `Preferences`.
> 2. Click on `Preferred Galaxy Storage`. Here, you can pick the Storage of your choice. The default option is Galaxy Storage.
>
> Instead of using a default storage location for your account, it is also possible to select it at different levels: per **History**, per **Tool**, and **Workflow**.
> 
> To set a Storage for a specific **History**, you should click on the Galaxy History Storage choice ({% icon galaxy-history-storage-choice %}) icon on the right panel. Then, select the added external storage as the preferred storage location for the **History**. If you execute a **Workflow** in this history, the all results of the workflow will be stored in the external storage (that you selected).
> To verify it, you can click on the Dataset details icon ({% icon details %}) of a job on the right panel and you can see that the user's external storage is used as the "Dataset Storage".
>
> Of course, if instead of a **workflow**, you can run just one **tool** using your connected Storage. To do this, you have to set the Galaxy History Storage choice ({% icon galaxy-history-storage-choice %}) as described above. Then, you can run one (or more) **tool** in this history and the results will be available on your Storage.
{: .tip}


category: galaxy
filename: workflows_extract_from_history
title: Extracting a workflow from your history
area: workflows
box_type: tip
content_hash: 0ecc5b52670608519fdd0a563f0adcb1
last_modified: 2026-02-26T21:12:13.724079
contributors_json: ["shiltemann", "hexylena", "nsoranzo"]
content:
1. **Clean up** your history: remove any failed (red) jobs from your history by clicking on the {% icon galaxy-delete %} button.

   This will make the creation of the workflow easier.

2. Click on {% icon galaxy-gear %} (**History options**) at the top of your history panel and select **Extract workflow**.

   ![`Extract Workflow` entry in the history options menu]({% link topics/introduction/images/history_menu_extract_workflow.png %})

   The central panel will show the content of the history in reverse order (oldest on top), and you will be able to choose which steps to include in the workflow.

3. Replace the **Workflow name** to something more descriptive.

4. **Rename** each workflow input in the boxes at the top of the second column.

5. If there are any steps that shouldn't be included in the workflow, you can **uncheck** them in the first column of boxes.

6. Click on the **Create Workflow** button near the top.

   You will get a message that the workflow was created.


category: galaxy
filename: histories_create_new
title: Creating a new history
area: histories
box_type: tip
content_hash: 0a041451425d184fcc1ca0301c2b74a1
last_modified: 2026-02-26T21:12:13.705804
contributors_json: ["bebatut", "wm75", "shiltemann", "hexylena", "nomadscientist", "nsoranzo", "nekrut"]
content:
To create a new history simply click the {% icon new-history %} icon at the top of the history panel:

![UI for creating new history]({% link shared/images/history_create_new.svg %})

<!-- the original drawing can be found here https://docs.google.com/drawings/d/1cCBrLAo4kDGic5QyB70rRiWJAKTenTU8STsKDaLcVU8/edit?usp=sharing -->


category: galaxy
filename: histories_annotation
title: History annotation
area: histories
box_type: tip
content_hash: 4a25ca79be9b3b0657d07823dbf5af98
last_modified: 2026-02-26T21:12:13.705555
contributors_json: ["nekrut"]
content:
Sometimes tags and names are not enough to describe the work done within a history. Galaxy allows you to create history
annotations: longer text entries that allow for more formatting options. The formatting of the text is preserved. Later, if
you publish or share the history, the annotation will be displayed automatically - allowing you to share additional
notes about the analysis. Multiple lines, spaces, and emoji! 😹🏳️‍⚧️🌈 can be used while writing annotations. 

To annotate a history:

1. Click on {% icon galaxy-pencil %} (**Edit**) next to the history name. A larger text section will appear displaying any
  existing annotation or `Annotation (optional)` if empty.
2. Add your text. <kbd>Enter</kbd> will move the cursor to the next line. (Tabs cannot be
  entered since the 'Tab' button is used to switch between controls on the page - tabs can be pasted in, however).
3. Click on **Save** {% icon galaxy-save %}.
4. To cancel, click the {% icon galaxy-undo %} "Cancel" button.

![UI for annotating histories]({% link shared/images/history_annotations.png %})


category: galaxy
filename: datasets_rename
title: Renaming a dataset
area: datasets
box_type: tip
content_hash: 87ac6744e9cb5c5ce9ad9cd0bdbfebf8
last_modified: 2026-02-26T21:12:13.703586
contributors_json: ["bebatut", "nsoranzo", "shiltemann", "wm75", "hexylena"]
content:
- Click on the {% icon galaxy-pencil %} **pencil icon** for the dataset to edit its attributes
- In the central panel, change the **Name** field {% if include.name %} to `{{ include.name }}` {% endif %}
- Click the **Save** button


category: galaxy
filename: importing-data-from-sierra-lims
title: Importing data from Sierra LIMS
area: data upload
box_type: tip
content_hash: 3f235ec2a1b8c28463c3ecb8aa3bb7e7
last_modified: 2026-02-26T21:12:13.718818
contributors_json: ["hexhowells"]
content:
This section will guide you through generating external links to your data stored in the Sierra LIMS system to be downloaded directly into Galaxy.

1. Go to the [Sierra portal](https://www.bioinformatics.babraham.ac.uk/sierra/sierra.pl) and login to your account.
2. Click on the **Sample ID** of the sample you want to download data from.
3. Click on the **Edit Sample Details** button.
4. At the bottom of the page there will be an input box for creating a link, enter a description for the link in the **Reason for link** section, and click **Create link**. This will reload the page and add a new link to the sample under **Authorised links to this sample**.
5. Go back to the sample page or click on the hyperlink called **link** to take you back.
6. In the **Results** section select the lane you want to access your data from.
7. The bottom of the page, under the **Links** section, will now contain a list of `wget` commands with links for accessing all the files within that sample/lane.
8. Since this list is for `wget` commands, you need to extract out the links from the command. You can copy the link in the first set of double quotes for each line and {% icon galaxy-wf-edit %} **Paste/Fetch Data** them directly into Galaxy to download the files.


category: galaxy
filename: collections_convert_datatype
title: Converting the datatype of a collection
area: collections
box_type: tip
content_hash: e0537dd31ba5008a619d25b935323e5a
last_modified: 2026-02-26T21:12:13.701043
contributors_json: ["shiltemann"]
content:
1. Click on **Edit** {% icon galaxy-pencil %} next to the collection name in your history
2. In the central panel, click on the {% icon galaxy-gear %} **Convert** tab on the top
3. Under **Converter Tool**, select {% if include.conversion %}`{{ include.conversion }}`{% else %} your desired conversion {% endif %}
4. Click the **Convert Collection** button


category: galaxy
filename: workflows_best_practices
title: Ensuring Workflows meet Best Practices
area: workflows
box_type: tip
content_hash: c9f7e1439dd43d6ddad9c598b26c472c
last_modified: 2026-02-26T21:12:13.723707
contributors_json: ["hexylena", "elichad"]
content:
When you are editing a workflow, there are a number of additional steps you can take to ensure that it is a Best Practice workflow and will be more reusable.

1. Open a workflow for editing
1. In the workflow menu bar, you'll find the {% icon galaxy-wf-options %} **Workflow Options** dropdown menu.
1. Click on it and select {% icon galaxy-wf-best-practices %} **Best Practices** from the dropdown menu.

   ![screenshot showing the best practices menu item in the gear dropdown.]({% link faqs/galaxy/images/best-practices1.png %})

1. This will take you to a new side panel, which allows you to investigate and correct any issues with your workflow.

   ![screenshot showing the best practices side panel. several issues are raised like a missing annotation with a link to add that, and non-optional inputs that are unconnected. Additionally several items already have green checks like the workflow defining creator information and a license.]({% link faqs/galaxy/images/best-practices2.png %})

The Galaxy community also has a [guide on best practices for maintaining workflows](https://planemo.readthedocs.io/en/latest/best_practices_workflows.html). This guide includes the best practices from the Galaxy workflow panel, plus:

* adding tests to the workflow
* publishing the workflow on GitHub, a public GitLab server, or another public version-controlled repository
* registering the workflow with a workflow registry such as WorkflowHub or Dockstore


category: galaxy
filename: tools_sorting
title: Sorting Tools
area: tools
box_type: tip
content_hash: 1564a6620c2617b94443b084ea8c77d9
last_modified: 2026-02-26T21:12:13.722302
contributors_json: ["jennaj", "garimavs"]
content:
Sometimes input errors are caused because of non-sorted inputs. Try using these:
- **Picard SortSam:** Sort SAM/BAM by coordinate or queryname.
- **Samtools Sort:** Alternate for SAM/BAM, best when used for coordinate sorting only.
- **SortBED order the intervals:** Best choice for BED/Interval.
- **Sort data in ascending or descending order:** Alternate choice for Tabular/BED/Interval/GTF.
- **VCFsort:** Best choice for VFC.
- **Tool Form Options for Sorting:** Some tools have an option to sort inputs during job execution. Whenever possible, sort inputs before using tools, especially if jobs fail for not having enough memory resources.


category: galaxy
filename: datatypes_best_practices_fastq
title: Best practices for loading fastq data into Galaxy
area: datatypes
box_type: tip
content_hash: cda41ba4daa20c8ed497d3e9cb88fc72
last_modified: 2026-02-26T21:12:13.704524
contributors_json: ["jennaj", "Melkeb"]
content:
- As of release `17.09`, `fastq` data will have the datatype `fastqsanger` auto-detected when that quality score scaling is detected and "autodetect" is used within the Upload tool. Compressed `fastq` data will be converted to uncompressed in the history.
- To preserve `fastq` compression, directly assign the appropriate datatype (eg: `fastqsanger.gz`).
- If the data is close to or over 2 GB in size, be sure to use FTP.
- If the data was already loaded as `fastq.gz`, don't worry! Just test the data for correct format (as needed) and assign the [metadata type]({% link faqs/galaxy/datatypes_fastq_and_fastqsanger.md %}).


category: galaxy
filename: histories_side_by_side_view
title: View histories side-by-side
area: histories
box_type: tip
content_hash: 0fcb3b67672100846401d3ccd1a43797
last_modified: 2026-02-26T21:12:13.707015
contributors_json: ["nekrut"]
content:
You can view multiple Galaxy histories at once. This allows to better understand your analyses and also makes it possible to drag datasets between histories. This is called "**History multiview**". The multiview can be enabled either view History menu or via the Activity Bar:

1. Enabling Multiview via History menu is done by first clicking on the {% icon galaxy-history-options %} "**History options**" drop-down and selecting {% icon galaxy-multihistory %} "**Show Histories Side-by-Side option**":

   ![Enabling side-by-side view using History Options menu]({% link shared/images/histories_side_by_side_view.svg %})  

2. Clicking the {% icon galaxy-multihistory %} "**History Multiview**" button within the Activity Bar:

   ![Enabling side-by-side view using Activity Bar]({% link shared/images/histories_multiview_via_activity_bar.svg %})

 <!-- Original drawings are accessible from https://docs.google.com/drawings/d/1coRlf1PxDKZYFt9j83MHGVYvwhBZhBkE-PcnhgIQ6gs/edit?usp=sharing and https://docs.google.com/drawings/d/1ksdR7wf2i5CJA1Pa-frCLMlgfITwwpOh2cKay8xDIi0/edit?usp=sharing -->


category: galaxy
filename: dataset_incomplete_download
title: Incomplete Dataset Download
area: troubleshooting
box_type: tip
content_hash: f8d157a2bea3e6539c180d78068568e8
last_modified: 2026-02-26T21:12:13.701300
contributors_json: ["jennaj", "Melkeb", "beachyesh"]
content:
In case the dataset downloads incompletely:
- Use the _Google Chrome_ web browser. Sometimes Chrome works better at supporting continuous data transfers.
- Use the [command-line option]({% link faqs/galaxy/datasets_download_using_command_line.md %}) instead. The data may really be too large to download OR your connection is slower. This can also be a faster way to download multiple datasets plus ensure a complete transfer (small or large data).


category: galaxy
filename: datasets_purging_datasets
title: Purging datasets
area: datasets
box_type: tip
content_hash: d36c792b6ff969d0e06dfdf0ca511e17
last_modified: 2026-02-26T21:12:13.703418
contributors_json: ["jennaj", "Nurzhamalyrys"]
content:
1. All account Datasets can be reviewed under **User > Datasets**.
2. To permanently delete: use the link from within the dataset, or use the Operations on Multiple Datasets functions, or use the Purge Deleted Datasets option in the History menu.

Notes:
- Within a History, deleted/permanently deleted Datasets can be reviewed by toggling the deleted link at the top of the History panel, found immediately under the History name.
- Both active (shown by default) and hidden (the other toggle link, next to the deleted link) datasets can be reviewed the same way.
- Click on the far right "X" to delete a dataset.
- Datasets in a deleted state are still part of your quota usage.
- Datasets must be purged (permanently deleted) to not count toward quota.


category: galaxy
filename: datasets_data_privacy_features
title: How to set Data Privacy Features?
area: histories
box_type: tip
content_hash: 8e3d7c9e377904b9455add7f65fbdb00
last_modified: 2026-02-26T21:12:13.702155
contributors_json: ["jennaj", "desmond-jasper"]
content:
Privacy controls are only enabled if desired. Otherwise, datasets by defaults remain private and unlisted in Galaxy. This means that a dataset you've created is virtually invisible until you publish a link to it.

Below are three optional steps to setting private Histories, a user can make use of any of the options below depending on what the user want to achieve:

1. Changing the privacy settings of individual dataset.

   - Click on the **dataset** name for a dropdown.
   - Clicking the '**pencil - {% icon galaxy-pencil %} icon**
   - Move on the **Permissions** tab.
   - On the permission tab is two input tab
   - On the second input with a label of **access**
   - Search for the name of the user to grant permission
   - Click on **save permission**

   ![gif of the process described above, in Galaxy](https://galaxyproject.org/learn/privacy-features/set-perm.gif)

   *Note*: Adding additional roles to the 'access' permission along with your "private role" does not do what you may expect. Since roles are always logically added together, only you will be able to access the dataset, since only you are a member of your "private role".

2. Make all datasets in the current history private.

   - Open the History Options galaxy-gear menu {% icon galaxy-gear %} at the top of your history panel
   - Click the **Make Private** option in the dropdown menu available
   - Sets the default settings for all new datasets in this history to private.

   ![gif of the process described above, in Galaxy](https://galaxyproject.org/learn/privacy-features/this-hist-priv-perm.gif)

3. Set the default privacy settings for new histories

   - Click **user** button on top of the main channel for a dropdown {% icon galaxy-dropdown %}
   - Click on the *preferences* under the dropdown {% icon galaxy-dropdown %}
   - Select **Set Dataset Permissions for New Histories** icon {% icon cofest %}
   - Add a permission and click **save permission**

   ![gif of the process described above, in Galaxy](https://galaxyproject.org/learn/privacy-features/new-hist-perm.gif)

   *Note*: Changes made here will only affect histories created after these settings have been stored.


category: galaxy
filename: workflows_download
title: Downloading workflows
area: workflows
box_type: tip
content_hash: 29fa477a331bfc340ca84212bb309957
last_modified: 2026-02-26T21:12:13.723903
contributors_json: ["lecorguille"]
content:
1. Click on {% icon galaxy-workflows-activity %} *Workflows* in the Galaxy activity bar (on the left side of the screen, or in the top menu bar of older Galaxy instances). You will see a list of all your workflows
2. Click on the {% icon dropdown %} button of the workflow you would like to download
3. {%icon download %}


category: galaxy
filename: datasets_change_datatype
title: Changing the datatype
area: datasets
box_type: tip
content_hash: fddc6d7c1c1fb17f632bfbf32ad543ec
last_modified: 2026-02-26T21:12:13.701724
contributors_json: ["bebatut", "nsoranzo", "hexylena", "shiltemann", "ajadi-abiola", "lldelisle", "nekrut"]
content:
* Click on the {% icon galaxy-pencil %} **pencil icon** for the dataset to edit its attributes
* In the central panel, click {% icon galaxy-chart-select-data %} **Datatypes** tab on the top
* In the {% icon galaxy-chart-select-data %} **Assign Datatype**, select {% if include.datatype %}`{{ include.datatype }}`{% else %} your desired datatype {% endif %} from "*New Type*" dropdown  
  - Tip: you can start typing the datatype into the field to filter the dropdown menu
* Click the **Save** button


category: galaxy
filename: interactive_tools_rstudio_launch
title: Launch RStudio
area: interactive tools
box_type: hands_on
content_hash: f316683734b550ee0638edf42ec87fac
last_modified: 2026-02-26T21:12:13.719443
contributors_json: ["bebatut", "shiltemann", "hexylena", "yvanlebras", "natefoo"]
content:
Depending on which server you are using, you may be able to run RStudio directly in Galaxy. If that is not available, RStudio Cloud can be an alternative.

> <tip-title>Launch RStudio in Galaxy</tip-title>
> Currently RStudio in Galaxy is only available on [UseGalaxy.eu](https://usegalaxy.eu) and [UseGalaxy.org](https://usegalaxy.org)
>
> 1. Open the Rstudio tool {% icon tool %} by clicking [here to launch RStudio](https://usegalaxy.eu/?tool_id=interactive_tool_rstudio)
> 2. Click Run Tool
> 3. The tool will start running and will stay running permanently
> 4. Click on the "User" menu at the top and go to "Active InteractiveTools" and locate the RStudio instance you started.
{: .tip}

> <tip-title>Launch RStudio Cloud if not available on Galaxy</tip-title>
>
> If RStudio is not available on the Galaxy instance:
> 1. Register for [RStudio Cloud](https://client.login.rstudio.cloud/oauth/login?show_auth=0&show_login=1&show_setup=1), or login if you already have an account
> 2. Create a new project
{: .tip}


category: galaxy
filename: histories_search
title: Searching your history
area: histories
box_type: tip
content_hash: 2325c97feae34a0b1f30e7c2e0d94bce
last_modified: 2026-02-26T21:12:13.706755
contributors_json: ["shiltemann", "hexylena"]
content:
To make it easier to find datasets in large histories, you can filter your history by keywords as follows:
  1. **Click** on the *search datasets* box at the top of the history panel.

     ![history search box]({% link shared/images/history_search_datasets.png %})

  2. **Type** a search term in this box
     - For example a tool name, or sample name
  3. To undo the filtering and show your full history again, press on the *clear search* button {% icon galaxy-clear %} next to the search box


category: galaxy
filename: datasets_working_with_deleted_datasets
title: Working with deleted datasets
area: datasets
box_type: tip
content_hash: 524b147b2953de56eb0dadb4ba60f8b3
last_modified: 2026-02-26T21:12:13.704084
contributors_json: ["jennaj", "garimavs"]
content:
Deleted datasets and histories can be recovered by users as they are retained in Galaxy for a time period set by the instance administrator. Deleted datasets can be undeleted or permanently deleted within a History. _Links to show/hide deleted (and hidden) datasets are at the top of the History panel._

- To review or adjust an individual dataset:
    1. Click on the name to expand it.
    2. If it is only deleted, but not permanently deleted, you'll see a message with links to recover or to purge.
        - Click on _Undelete_ it to recover the dataset, making it active and accessible to tools again.
        - Click on _Permanently remove it from disk_ to purge the dataset and remove it from the account quota calculation.

- To review or adjust multiple datasets in batch:
    1. Click on the checked box icon {% icon galaxy-selector %} near the top left of the history panel (Select Items) to switch into "Operations on Multiple Datasets" mode.
    2. Accordingly for each individual dataset, choose the selection box. Check the datasets you want to modify and choose your option (show, hide, delete, undelete, purge, and group datasets).


category: galaxy
filename: collections_build_list
title: Creating a dataset collection
area: collections
box_type: tip
content_hash: b62a323262cfd76ab7f87693be3277a4
last_modified: 2026-02-26T21:12:13.700783
contributors_json: ["shiltemann", "hexylena", "pavanvidem"]
content:
* Click on {% icon galaxy-selector %} **Select Items** at the top of the history panel ![Select Items button]({% link topics/galaxy-interface/images/historyItemControls.png %})
* Check {% if include.datasets_description %}{{ include.datasets_description }}{% else %}all the datasets in your history you would like to include{% endif %}
* Click **{% if include.n %}{{ include.n }}{% else %}n{% endif %} of N selected** and choose **Advanced Build List**

  ![build list collection menu item]({% link topics/galaxy-interface/images/buildList.png %}){:width="15%"}

* You are in collection building wizard. Choose **Flat List** and click 'Next' button at the right bottom corner.

  ![collection building wizard flat list]({% link topics/galaxy-interface/images/flat_list_selector.png %}){:width="15%"}

* Double clcik on the file names to edit. For example, remove file extensions or common prefix/suffixes to cleanup the names.

  ![edit and build a list collection]({% link topics/galaxy-interface/images/flat_list_edit.png %}){:width="15%"}

* Enter a name for your collection {% if include.name %} to {{ include.name }} {% endif %}
* Click **Build** to build your collection
* Click on the checkmark icon at the top of your history again


category: galaxy
filename: workflows_report_view
title: Viewing a workflow report
area: workflows
box_type: tip
content_hash: 5d37dcbae03aaf40d958f56a6ce5c063
last_modified: 2026-02-26T21:12:13.724981
contributors_json: ["hexylena", "shiltemann"]
content:
- Go to **User** on the top menu bar of Galaxy.
- Click on **Workflow invocations**
  - Here you will find a list of all the workflows you have run
- Click on the name of a workflow invocation to expand it
  ![workflow invocations list]({{site.baseurl}}/faqs/galaxy/images/workflow_invocations_menu.png)
- Click on **View Report** to go to the workflow report page
- **Note:** The report can also be downloaded in PDF format by clicking on the {% icon galaxy-wf-report-download %} icon.


category: galaxy
filename: datasets_deleting
title: How to delete datasets?
area: datasets
box_type: tip
content_hash: 4b0cbe0f7e6e2165acd5982dd3041e76
last_modified: 2026-02-26T21:12:13.702239
contributors_json: ["nekrut"]
content:
**Deleting datasets individually**

To delete datasets individually simply click the {% icon galaxy-delete %} button with dataset's box. That's it! This action is reversible: datasets can be undeleted. 

**Deleting datasets in bulk**

To delete multiple datasets at once:

- Click {% icon history-select-multiple %} icon at the top of the history pane;
- Select datasets you want to delete;
- Click the dropdown that would appear at the top of the history;
- Select **"Delete"** option.

This action is also reversible: datasets can be undeleted. 

![An animated gif showing how to delete datasets]({% link shared/images/datasets_deleting.gif %})

**Deleting datasets permanently** <font color="red">{% icon warning %} <b>Danger zone!</b></font>

> <warning-title>Permanent is ... PERMANENT!</warning-title>
> Datasets deleted in this fashion CANNOT be undeleted!
{: .warning}

To delete multiple datasets <font color="red">PERMANENTLY</font>:

- Click {% icon history-select-multiple %} icon at the top of the history pane;
- Select datasets you want to delete;
- Click the dropdown that would appear at the top of the history;
- Select **"Delete (permanently)"** option.


category: galaxy
filename: can-i-use-a-public-galaxy-for-my-private-data
title: Can I use a public Galaxy for my private data?
area: support
box_type: tip
content_hash: 66c02c5b246a0575ba54c2fe197019cd
last_modified: 2026-02-26T21:12:13.700442
contributors_json: ["hexylena"]
content:
Of course\*!

If your data is not sensitive (i.e. human patient) but just private (sequencing from other animals/bacteria/etc), then it is absolutely ok to use a public galaxy server like usegalaxy.eu or usegalaxy.org!

 Data uploaded is private to your account, it isn't available to others publicly. No one will scoop your results, if you use a public galaxy server to analyse your data :)

 A great benefit of this is then when your paper is being reviewed you can share that history or workflow with reviewers, and when it's published you can click a button to share those results with the world as well, such that others can reproduce your analysis!

 (of course system administrators can see the files on disk but they are not interested and will not be looking at your data. If you file a bug report they may see your data but they are system administrators, not bioinformatics experts that might be interested in your results.)


category: galaxy
filename: tools_favorite
title: Organizing the tool panel
area: tools
box_type: tip
content_hash: 3a884c926ffa87e95ef7394e434bc88d
last_modified: 2026-02-26T21:12:13.721514
contributors_json: ["shiltemann"]
content:
Galaxy servers can have a lot of tools available, which can make it challenging to find the tool you are looking for. To help find your favourite tools, you can:

- **Keep a list of your favourite tools** to find them back easily later.
  - **Adding tools to your favourites**
    - Open a tool
    - Click on the **star icon** {% icon galaxy-star %} next to the tool name to add it to your favourites
  - **Viewing your favourite tools**
    - Click on the **star icon** {% icon galaxy-star %} at the top of the Galaxy tool panel (above the tool search bar)
    - This will filter the toolbox to show all your starred tools


- **Change the tool panel view**
  - Click on the {% icon galaxy-panelview %} icon at the top of the Galaxy tool panel (above the tool search bar)
  - Here you can view the tools by EDAM ontology terms
    - EDAM Topics (e.g. biology, ecology)
    - EDAM Operations (e.g. quality control, variant analysis)
    - You can always get back to the default view by choosing **"Full Tool Panel"**


category: galaxy
filename: datasets_finding_datasets
title: Finding Datasets
area: datasets
box_type: tip
content_hash: ea444cb28cf070543b2fe272f52c853e
last_modified: 2026-02-26T21:12:13.702573
contributors_json: ["jennaj", "Melkeb"]
content:
- To review all active Datasets in your account, go to **User > Datasets**.

Notes:
- Logging out of Galaxy while the Upload tool is still loading data can cause uploads to abort. This is most likely to occur when a dataset is loaded by browsing local files.
- If you have more than one browser window open, each with a different Galaxy History loaded, the Upload tool will load data into the most recently used history.
- Click on refresh icon {% icon galaxy-refresh %} at the top of the History panel to display the current active History with the datasets.


category: galaxy
filename: workflows_import
title: Importing a workflow
area: workflows
box_type: tip
content_hash: 6143235b98b385cfe9b341712c23fda9
last_modified: 2026-02-26T21:12:13.724441
contributors_json: ["shiltemann", "mblue9", "hexylena", "wm75"]
content:
1. Click on {% icon galaxy-workflows-activity %} *Workflows* in the Galaxy activity bar (on the left side of the screen, or in the top menu bar of older Galaxy instances). You will see a list of all your workflows
2. Click on {% icon galaxy-upload %} **Import** at the top-right of the screen
3. {% if include.import_url %}Paste the following URL into the box labelled *"Archived Workflow URL"*: `{{ include.import_url }}`{% else %}Provide your workflow
  - Option 1: Paste the URL of the workflow into the box labelled *"Archived Workflow URL"*
  - Option 2: Upload the workflow file in the box labelled *"Archived Workflow File"*{% endif %}
4. Click the **Import workflow** button

Below is a short video demonstrating how to import a workflow from GitHub using this procedure:

{% include _includes/youtube.html id="FXlkreylhww" title="Importing a workflow from URL" %}


category: galaxy
filename: dataupload_NCBI_SRA
title: Data retrieval with “NCBI SRA Tools” (fastq-dump)
area: data upload
box_type: tip
content_hash: 802afcd7946d3847d2c70470dc7a8d24
last_modified: 2026-02-26T21:12:13.705206
contributors_json: ["jennaj", "Melkeb"]
content:
This section will guide you through downloading experimental metadata, organizing the metadata to short lists corresponding to conditions and replicates, and finally importing the data from NCBI SRA in collections reflecting the experimental design.

**Downloading metadata**

- It is critical to understand the condition/replicate structure of an experiment before working with the data so that it can be imported as collections ready for analysis. Direct your browser to [SRA Run Selector](https://www.ncbi.nlm.nih.gov/Traces/study/) and in the search box enter GEO data set identifier (for example: GSE72018). Once the study appears, click the box to download the “RunInfo Table”.

**Organizing metadata**

- The “RunInfo Table” provides the experimental condition and replicate structure of all of the samples. Prior to importing the data, we need to parse this file into individual files that contain the sample IDs of the replicates in each condition. This can be achieved by using a combination of the ‘group’, ‘compare two datasets’, ‘filter’, and ‘cut’ tools **to end up with single column lists of sample IDs (SRRxxxxx) corresponding to each condition.**

**Importing data**

- Provide the files with SRR IDs to NCBI SRA Tools (fastq-dump) to import the data from SRA to Galaxy. By organizing the replicates of each condition in separate lists, **the data will be imported as “collections” that can be directly loaded to a workflow or analysis pipeline.**


category: galaxy
filename: troubleshooting_cluster_failure
title: Understanding 'canceled by admin' or cluster failure error messages
area: troubleshooting
box_type: tip
content_hash: f20b99725148910814a590eab432db1f
last_modified: 2026-02-26T21:12:13.722475
contributors_json: ["jennaj", "garimavs"]
content:
The initial error message could be:
<pre>
This job failed because it was cancelled by an administrator.
Please click the bug icon to report this problem if you need help.
</pre>

Or
<pre>
job info:
Remote job server indicated a problem running or monitoring this job.
</pre>

- Causes:
    - Server or cluster error.
    - Less frequently, input problems are a factor.

- Solutions:
    - Try at least one rerun. Server/cluster errors like this are usually transient.
    - Review the Solutions section of the [Understanding input error messages]({% link faqs/galaxy/troubleshooting_input_problem.md %}) FAQ.
    - If after any corrections, the job still fails, please report the technical issue [following the extended issue guidelines]({% link faqs/galaxy/analysis_reporting_issues.md %}).


category: galaxy
filename: histories_dataset_colors
title: Dataset colors
area: histories
box_type: tip
content_hash: 838202311a31b94854aa7c740e03aa42
last_modified: 2026-02-26T21:12:13.705889
contributors_json: ["nekrut"]
content:
There are several different "states" a dataset can be in. These states are indicated by colors:

![Colors indicating states of Galaxy datasets]({% link shared/images/galactic_colors.svg %})

- **ok**: everything is fine, life is good;
- **new**: the dataset was just created. Galaxy does not yet know when it is available;
- **queued**: indicates that the job generating this dataset is scheduled for execution but not running yet;
- **running**: job generating this dataset is running;
- **setting metadata**: when a new dataset is uploaded Galaxy examines it to understand what kind of data it is (e.g., BAM, FASTQ, fasta, BED, etc.). This is called "setting metadata";
- **deferred**: sometimes it does not make sense to upload the dataset until it is needed for an analysis. Galaxy will download deferred datasets later during the job execution. Those datasets do not count toward your quota;
- **paused**: in some cases, workflow executions or upstream errors can prevent subsequent jobs from starting to create datasets in "paused" state. Rerun the errored tool with the option ***Resume dependencies from this job?*** to resume paused jobs; 
- **discarded**: something went wrong. For example, a job producing this dataset might have been cancelled;
- **error**: everything is not fine; life is bad! Click on the information **i** button to know more about what happened;
- **placeholder**: similar to "new"; we know something will be there, but are not yet sure what;
- **failed populated state**: this refers to collections (not individual datasets). Here, a collection has failed to be populated with datasets;
- **new populated state**: this refers to collections (not individual datasets). A collection was created but not populated yet.

<!-- original editable image = https://docs.google.com/drawings/d/1F2Lq1m3cMIckvCexXMzug-dqwgifkoMOzoyH4VcoVX0/edit?usp=sharing -->

<!-- TO DO 
Needs to be linked to FAQs on:
- how to report errors
- explaining collections 
-->


category: galaxy
filename: datatypes_fastq_varieties
title: FASTQ files: `fastq` vs `fastqsanger` vs ..
area: datatypes
box_type: tip
content_hash: 8beda7bceab47879630fc29820f62438
last_modified: 2026-02-26T21:12:13.704861
contributors_json: ["shiltemann"]
content:
FASTQ files come in various flavours. They differ in the encoding scheme they use. See our [QC tutorial]({% link topics/sequence-analysis/tutorials/quality-control/tutorial.md %}#inspect-a-raw-sequence-file) for a more detailed explanation of encoding schemes.

Nowadays, the most commonly used encoding scheme is sanger. In Galaxy, this is the `fastqsanger` datatype. If you are using older datasets, make sure to verify the FASTQ encoding scheme used in your data.

**Be Careful: choosing the wrong encoding scheme can lead to incorrect results!**

**Tip:** There are 2 Galaxy datatypes that have similar names, but are not the same, please make sure you `fastqsanger` and `fastqcssanger` (not the additional `cs`).

**Tip:** When in doubt, choose `fastqsanger`


category: galaxy
filename: add-toolshed-category-to-a-tool
title: Add Toolshed category to a tool
area: tools
box_type: tip
content_hash: 44ab8942df4114d730f4b81ce947e687
last_modified: 2026-02-26T21:12:13.699217
contributors_json: ["nomadscientist"]
content:
1. Find the target tool in the [Galaxy Toolshed](https://toolshed.g2.bx.psu.edu/repository).
   
   Note: the easiest way to do this from the Galaxy interface is to (A) search for the tool, then (B) select the drop-down menu **See tool in toolshed**.
2. Follow the **Development respository** URL.
3. Go to the `.shed.yml` file.
4. In the `categories:` metadata section, add your Toolshed category (which must correspond to those already in the [Galaxy Toolshed](https://toolshed.g2.bx.psu.edu/repository).

Example format: 

```yaml
categories:
 - Single Cell
 - Spatial Omics
 - Transcriptomics
```


category: galaxy
filename: cite-tools-used-in-a-history
title: How do I cite the tools I used in my history?
area: features
box_type: tip
content_hash: b2126f4a92284957f72702a787946b5c
last_modified: 2026-02-26T21:12:13.700524
contributors_json: ["dadrasarmin"]
content:
If you performed your data analysis in Galaxy, you can easily export a list of all the tools you used—and should cite—as follows:

1. Click on the **History options** button ( {% icon galaxy-history-options %} ) in the right-hand panel.
2. Select **Export Tool Citations** from the menu.
3. The middle panel will display a list of tools used in your history, with citation information provided in two formats: **APA** and **BibTeX**.
4. Don't forget to also cite [Galaxy itself](https://galaxyproject.org/citing-galaxy/) in your publication.

Proper citation helps support the developers and ensures reproducibility—thank you for taking this step!


category: galaxy
filename: dataupload_EBI-SRA
title: How can I upload data using EBI-SRA?
area: data upload
box_type: tip
content_hash: d3b99027d9e616d127fedf6fa6a42101
last_modified: 2026-02-26T21:12:13.705118
contributors_json: ["jennaj", "bernandez"]
content:
1. Search for your data directly in the tool and use the Galaxy links.
2. Be sure to check your sequence data for correct quality score formats and the metadata "datatype" assignment.


category: galaxy
filename: user_preferences_account_usage_quota
title: Does your account usage quota seem incorrect?
area: user preferences
box_type: tip
content_hash: 5c13847c3e0dc48e5fabdbcde094e53e
last_modified: 2026-02-26T21:12:13.723031
contributors_json: ["jennaj", "Nurzhamalyrys"]
content:
1. Log out of Galaxy, then back in again. This refreshes the disk usage calculation displayed in the Masthead usage (summary) and under *User > Preferences* (exact).

Note: 
- Your account usage quota can be found at the bottom of your user preferences page.


category: galaxy
filename: account_multiple
title: Can I create multiple Galaxy accounts?
area: account
box_type: tip
content_hash: fc8538421a6b75f805d8be035864af3a
last_modified: 2026-02-26T21:12:13.698871
contributors_json: ["shiltemann"]
content:
The account registration form and activation email include a terms of service statement.

- You ARE NOT allowed to create more than 1 account per Galaxy server.
- You ARE allowed to have accounts on different servers.


For example, you are allowed to have 1 account on Galaxy US, and another account on Galaxy EU, but never 2 accounts on the same Galaxy.

**WARNING: Having multiple accounts is a violation of the terms of service, and may result in deletion of your accounts.**

<br>
Need more disk space?
  - Review your [**User -> Preferences -> Storage Dashboard**](https://my.galaxy.training/?path=/storage) to find and manage all of your data.
  - Read about [more ways to free up space in your account]({% link faqs/galaxy/account_reduce_quota_usage.md %})
  - [Contact the admins of your Galaxy server]({% link faqs/galaxy/support_admins.md %}) to ask about possibilities for temporarily increasing your quota.

<br>
Other tips:
  - Forgot your password? You can request a reset link in on the login page.
  - If you want to associate your account with a different email address, you can do so under **User -> Preferences** in the top menu bar.
  - To start over with a new account, delete your existing account(s) first before creating your new account. This can be done in **User -> Preferences** menu in the top bar.


category: galaxy
filename: analysis_regular_expressions
title: Regular Expressions 101
area: tools
box_type: tip
content_hash: af7d29a04fc7617034a1681e4eef0924
last_modified: 2026-02-26T21:12:13.699912
contributors_json: ["shiltemann"]
content:
Regular expressions are a standardized way of describing patterns in textual data. They can be extremely useful for tasks such as finding and replacing data. They can be a bit tricky to master, but learning even just a few of the basics can help you get the most out of Galaxy.

**Finding**

Below are just a few examples of basic expressions:

| Regular expression | Matches |
|--------------------|-------------|
| `abc`              | an occurrence of `abc` within your data |
| `(abc|def)`        | `abc` *or* `def` |
| `[abc]`            | a single character which is either `a`, `b`, or `c` |
| `[^abc]`           | a character that is NOT `a`, `b`, nor `c` |
| `[a-z]`            | any lowercase letter |
| `[a-zA-Z]`         | any letter (upper or lower case)|
| `[0-9]`            | numbers 0-9 |
| `\d`               | any digit (same as `[0-9]`) |
| `\D`               | any non-digit character |
| `\w`               | any alphanumeric character |
| `\W`               | any non-alphanumeric character |
| `\s`               | any whitespace |
| `\S`               | any non-whitespace character |
| `.`                | *any* character |
| `\.`               | literal . (period) |
| `{x,y}`            | between *x* and *y* repetitions |
| `^`                | the beginning of the line |
| `$`                | the end of the line |

**Note:** you see that characters such as `*`, `?`, `.`, `+` etc have a special meaning in a regular expression. If you want to match on those characters, you can escape them with a backslash. So `\?` matches the question mark character exactly.

**Examples**

| Regular expression   | matches                |
|----------------------|------------------------|
| `\d{4}`              | 4 digits (e.g. a year) |
| `chr\d{1,2}`         | `chr` followed by 1 or 2 digits |
| `.*abc$`             | anything with `abc` at the end of the line |
| `^$`                 | empty line |
| `^>.*`			   | Line starting with `>` (e.g. Fasta header) |
| `^[^>].*`			   | Line not starting with `>` (e.g. Fasta sequence) |


**Replacing**

Sometimes you need to capture the exact value you matched on, in order to use it in your replacement, we do this using capture groups `(...)`, which we can refer to using `\1`, `\2` etc for the first and second captured values. If you want to refer to the whole match, use `&`.

| Regular expression      | Input        | Captures               |
|-------------------------|--------------|------------------------|
| `chr(\d{1,2})`          | `chr14`      | `\1 = 14`              |
| `(\d{2}) July (\d{4})`  | 24 July 1984 | `\1 = 24`, `\2 = 1984` |

An expression like `s/find/replacement/g` indicates a replacement expression, this will search (`s`) for any occurrence of `find`, and replace it with `replacement`. It will do this globally (`g`) which means it doesn't stop after the first match.

Example: `s/chr(\d{1,2})/CHR\1/g` will replace `chr14` with `CHR14` etc.

You can also use replacement modifier such as convert to lower case `\L` or upper case `\U`. Example: `s/.*/\U&/g` will convert the whole text to upper case.

Note: In Galaxy, you are often asked to provide the find and replacement expressions separately, so you don't have to use the `s/../../g` structure.

There is a lot more you can do with regular expressions, and there are a few different flavours in different tools/programming languages, but these are the most important basics that will already allow you to do many of the tasks you might need in your analysis.

**Tip:** [RegexOne](https://regexone.com/) is a nice interactive tutorial to learn the basics of regular expressions.

**Tip:** [Regex101.com](https://regex101.com/) is a great resource for interactively testing and constructing your regular expressions, it even provides an explanation of a regular expression if you provide one.

**Tip:** [Cyrilex](https://extendsclass.com/regex-tester.html) is a visual regular expression tester.


category: galaxy
filename: workflows_parameter_set_runtime
title: Setting parameters at run-time
area: workflows
box_type: tip
content_hash: 4e5fc31f388dc615bbcf85f84ada3cfc
last_modified: 2026-02-26T21:12:13.724709
contributors_json: ["shiltemann", "hexylena"]
content:
1. Open the workflow editor
2. Click on the tool in the workflow to get the details of the tool on the right-hand side of the screen.
3. Scroll down to the parameter you want users to provide every time they run the workflow
4. Click on the arrow in front of the name {% icon workflow-runtime-toggle %} to toggle to *set at runtime*


category: galaxy
filename: reference_genomes_troubleshooting_custom_genome
title: Troubleshooting Custom Genome fasta
area: reference genomes
box_type: tip
content_hash: a2cd7aaed264a1d55955e1013bcf04ef
last_modified: 2026-02-26T21:12:13.720544
contributors_json: ["jennaj", "Nurzhamalyrys"]
content:
If a custom genome/transcriptome/exome dataset is producing errors, double check the format and that the chromosome identifiers between **ALL** inputs. Clicking on the bug icon {% icon galaxy-bug %} will often provide a description of the problem. This does not automatically submit a bug report, and it is not always necessary to do so, but it is a good way to get some information about [why a job is failing]({% link faqs/galaxy/analysis_troubleshooting.md %}). 

- Custom genome not assigned as FASTA format

   - **Symptoms include**: Dataset not included in custom genome "From history" pull down menu on tool forms.
   - **Solution**: Check datatype assigned to dataset and assign **fasta** format.
   - **How**: Click on the dataset's pencil icon {% icon galaxy-pencil %} to reach the "Edit Attributes" form, and in the Datatypes tab > [redetect the datatype]({% link faqs/galaxy/datasets_detect_datatype.md %}).
   - If `fasta` is not assigned, there is a format problem to correct.
  
 - Incomplete Custom genome file load

   - **Symptoms include**: Tool errors result the first time you use the Custom genome.
   - **Solution**: Use **Text Manipulation → Select last lines from a dataset** to check last 10 lines to see if file is truncated.
   - **How**: Reload the dataset (switch to [FTP](https://galaxyproject.org/ftp-upload/) if not using already). Check your FTP client logs to make sure the load is complete.

- Extra spaces, extra lines, inconsistent line wrapping, or any deviation from strict FASTA format

   - **Symptoms include: RNA-seq tools (Cufflinks, Cuffcompare, Cuffmerge, Cuffdiff)** fails with error `Error: sequence lines in a FASTA record must have the same length!.`
   - **Solution**: File tested and corrected locally then re-upload or test/fix within Galaxy, then re-run.
   - **How**:
     - **Quick re-formatting** Run the tool through the tool **NormalizeFasta** using the options to wrap sequence lines at 80 bases and to trim the title line at the first whitespace.
     - **Optional Detailed re-formatting** Start with **FASTA manipulation → FASTA Width formatter** with a value between 40-80 (60 is common) to reformat wrapping. Next, use Filter and Sort → Select with ">" to examine identifiers. Use a combination of **Convert Formats → FASTA-to-Tabular, Text Manipulation** tools, then **Tabular-to-FASTA** to correct.
     - **With either of the above**, finish by using **Filter and Sort → Select** with `^\w*$` to search for empty lines (use "NOT matching" to remove these lines and output a properly format fasta dataset).
   
- Inconsistent line wrapping, common if merging chromosomes from various Genbank records (e.g. primary chroms with mito)

   - **Symptoms include**: Tools (**SAMTools, Extract Genomic DNA**, but rarely alignment tools) may complain about unexpected line lengths/missing identifiers. Or they may just fail for what appears to be a cluster error.
   - **Solution**: File tested and corrected locally then re-upload or test/fix within Galaxy.
   - **How**: Use **NormalizeFasta** using the options to wrap sequence lines at 80 bases and to trim the title line at the first whitespace. Finish by using **Filter and Sort → Select** with `^\w*$` to search for empty lines (use "NOT matching" to remove these lines and output a properly format fasta dataset).
   
- Unsorted fasta genome file

   - **Symptoms include**: Tools such as **Extract Genomic DNA** report problems with sequence lengths.
   - **Solution**: First try sorting and re-formatting in Galaxy then re-run.
   - **How**: To sort, follow instructions for [Sorting]({% link faqs/galaxy/reference_genomes_sorting_reference_genome.md %}) a Custom Genome.

- Identifier and Description in ">" title lines used inconsistently by tools in the same analysis

   - **Symptoms include**: Will generally manifest as a false genome-mismatch problem.
   - **Solution**: Remove the description content and re-run all tools/workflows that used this input. Mapping tools will usually not fail, but downstream tools will. When this comes up, it usually means that an analysis needs to be started over from the mapping step to correct the problems. No one enjoys redoing this work. Avoid the problems by formatting the genome, by double checking that the same reference genome was used for all steps, and by making certain the 'identifiers' are a match between all planned inputs (including reference annotation such as GTF data) **before using your custom genome**.
   - **How**: To drop the title line description content, use **NormalizeFasta** using the options to wrap sequence lines at 80 bases and to trim the title line at the first whitespace. Next, double check that the chromosome identifiers are an exact match between all inputs.
   
- Unassigned database

   - **Symptoms include**: Tools report that no build is available for the assigned reference genome.
   - **Solution**: This occurs with tools that require an assigned database metadata attribute. **SAMTools and Picard** often require this assignment.
   - **How**: Create a [Custom Build]({% link faqs/galaxy/analysis_add_custom_build.md %}) and assign it to the dataset.


category: galaxy
filename: workflows_import_from_dockstore
title: Import workflows from DockStore
area: workflows
box_type: tip
content_hash: c8a865650bc4c3a0159005f757b901ae
last_modified: 2026-02-26T21:12:13.724529
contributors_json: ["nekrut"]
content:
[Dockstore](https://dockstore.org/) is a free and open source platform for sharing reusable and scalable analytical tools and workflows.

1. Ensure that you are logged in to your Galaxy account.
1. {% unless include.dockstore_id %}Go to [DockStore](https://dockstore.org).
2. Select any Galaxy workflow you want to import.{% else %}Go to [DockStore](https://dockstore.org/workflows/{{ include.dockstore_id }}){% endunless %}
3. Click on "Galaxy" dropdown within the "Launch with" panel located in the upper right corner.
4. Select a galaxy instance you want to launch this workflow with.
5. You will be redirected to Galaxy and presented with a list of workflow versions.
6. Click the version you want (usually the latest labelled as "main")
7. You are done!

The following short video walks you through this uncomplicated procedure:

{% include _includes/youtube.html id="K2wFrSLFpa0" title="Importing from Dockstore" %}


category: galaxy
filename: collections_autobuild_list
title: Creating a dataset collection with autobuild
area: collections
box_type: tip
content_hash: d055bb7ede7efdcbec0c80a65facc263
last_modified: 2026-02-26T21:12:13.700687
contributors_json: ["Marie59"]
content:
* Click on {% icon galaxy-selector %} **Select Items** at the top of the history panel ![Select Items button]({% link topics/climate/images/bgc_calib/collection_emptyhist.png %})
* Check {% if include.datasets_description %}{{ include.datasets_description }}{% else %}all the datasets in your history you would like to include{% endif %}
* Click **{% if include.n %}{{ include.n }}{% else %}n{% endif %} of N selected** and choose **Auto build List**

  ![Collection building with autobuild]({% link topics/climate/images/bgc_calib/build_collection.png %}){:width="15%"}

* Enter a name for your collection {% if include.name %} to {{ include.name }} {% endif %}
* Turn off **Remove file extension**

  ![Put a name and remove extension]({% link topics/climate/images/bgc_calib/collection_hist.png %}){:width="15%"}

* Click **Build** to build your collection
* Click on the checkmark icon at the top of your history again

Once the collection is created, all files turn green. You can limit visible files using the eye icons in the history panel.


category: galaxy
filename: workflows_rename_output
title: Renaming workflow outputs
area: workflows
box_type: tip
content_hash: 10e040c2fc77fdf9c3320911fc63d40a
last_modified: 2026-02-26T21:12:13.724889
contributors_json: ["shiltemann", "wm75", "hexylena"]
content:
1. Open the workflow editor
2. Click on the tool in the workflow to get the details of the tool on the right-hand side of the screen.
3. Scroll down to the **Configure Output** section of your desired parameter, and click it to expand it.
    - Under **Rename dataset**, give it a meaningful name

      ![Rename output datasets]({% link shared/images/workflow_rename_datasets.png %})


category: galaxy
filename: datatypes_fastq_format
title: How to format fastq data for tools that require .fastqsanger format?
area: datatypes
box_type: tip
content_hash: fc8ac84eadeccf76d7e82f90560e0cb5
last_modified: 2026-02-26T21:12:13.704773
contributors_json: ["jennaj", "Melkeb"]
content:
- Most tools that accept FASTQ data expect it to be in a specific FASTQ version: `.fastqsanger`. The `.fastqsanger` datatype must be assigned to each FASTQ dataset.

In order to do that:

- Watch the **[FASTQ Prep Illumina](http://vimeo.com/galaxyproject/fastqprep)** video for a complete walk-through.
- Run **FastQC** first to assess the type.
    - Run **FASTQ Groomer** if the data needs to have the quality scores rescaled.
    - If you are certain that the quality scores are already scaled to Sanger Phred+33 (the result of an Illumina 1.8+ pipeline), the datatype `.fastqsanger` can be directly assigned. Click on the pencil icon {% icon galaxy-pencil %} to reach the **Edit Attributes** form. In the center panel, click on the "Datatype" tab, enter the datatype `.fastqsanger`, and save.
- Run **FastQC** again on the entire dataset *if any changes were made to the quality scores* for QA.

**Other tips**

- If you are not sure what type of FASTQ data you have (maybe it is not Illumina?), see the help directly on the **FASTQ Groomer** tool for information about types.
    - For _Illumina_, first run **FastQC** on a sample of your data ([how to read the full report](http://www.bioinformatics.babraham.ac.uk/projects/fastqc/Help/3%20Analysis%20Modules/)). The output report will note the quality score type interpreted by the tool. If not `.fastqsanger`, run **FASTQ Groomer** on the entire dataset. If `.fastqsanger`, just assign the datatype.
    - For _SOLiD_, run **NGS: Fastq manipulation → AB-SOLID DATA → Convert**, to create a `.fastqcssanger` dataset. If you have uploaded a color space fastq sequence with quality scores already scaled to Sanger Phred+33 (`.fastqcssanger`), first confirm by running **FastQC** on a sample of the data. Then if you want to double-encode the color space into psuedo-nucleotide space (required by certain tools), see the instructions on the tool form **Fastq Manipulation** for the conversion.
    - If your data is _FASTA_, but you want to use tools that require FASTQ input, then using the tool **NGS: QC and manipulation → Combine FASTA and QUAL**. This tool will create "placeholder" quality scores that fit your data. On the output, click on the pencil icon {% icon galaxy-pencil %} to reach the **Edit Attributes** form. In the center panel, click on the "Datatype" tab, enter the datatype `.fastqsanger`, and save.


category: galaxy
filename: tools_missing
title: If a Tool is Missing
area: tools
box_type: tip
content_hash: 4fa86bbef22f003ed384a45ddf00aed4
last_modified: 2026-02-26T21:12:13.721800
contributors_json: ["shiltemann", "garimavs"]
content:
To use the tools installed and available on the Galaxy server:

1. At the top of the left tool panel, type in a tool name or datatype into the tool search box.
2. Shorter keywords find more choices.
3. Tools can also be directly browsed by category in the tool panel.

If you can't find a tool you need for a tutorial on Galaxy, please:

1. **Check that you are using a compatible Galaxy server**
  - Navigate to the overview box at the top of the tutorial
  - Find the **"Supporting Materials"** section
  - Check **"Available on these Galaxies"**
  - If your server is not listed here, the tutorial is not supported on your Galaxy server
  - You can create an account on one of the supporting Galaxies
  ![screenshot of overview box with available Galaxies section]({% link faqs/galaxy/images/supporting_galaxies.png %})

2. Use the **Tutorial mode** feature
  - Open your Galaxy server
  - Click on the {% icon curriculum %} icon on the top menu, this will open the GTN inside Galaxy.
  - Navigate to your tutorial
  - Tool names in tutorials will be blue buttons that open the correct tool for you
  - **Note:** this does not work for all tutorials (yet)
  ![gif showing how GTN-in-Galaxy works]({% link topics/contributing/images/88277962-ddda4a80-cce1-11ea-92cd-41b1df063db0.gif %})

3. **Still not finding the tool?**
  - Ask help in [Gitter]({{site.gitter_url}}).


category: galaxy
filename: datatypes_understanding_datatypes
title: Understanding Datatypes
area: datatypes
box_type: tip
content_hash: 8e381d78c3cddce0f89b934e54e663de
last_modified: 2026-02-26T21:12:13.705037
contributors_json: ["jennaj", "garimavs"]
content:
- Allow Galaxy to detect the datatype during Upload, and adjust from there if needed.
- Tool forms will filter for the appropriate datatypes it can use for each input. 
- [Directly changing]({% link faqs/galaxy/datasets_change_datatype.md %}) a datatype can lead to errors. Be intentional and consider [converting]({% link faqs/galaxy/datasets_convert_datatype.md %}) instead when possible. 
- Dataset content can also be adjusted (tools: Data manipulation) and the expected [datatype detected]({% link faqs/galaxy/datasets_detect_datatype.md %}). Detected datatypes are the most reliable in most cases.
- If a tool does not accept a dataset as valid input, it is not in the correct format with the correct datatype.
- Once a dataset’s content matches the datatype, and that dataset is repeatedly used (example: Reference annotation) use that same dataset for all steps in an analysis or expect problems. This may mean rerunning prior tools if you need to make a correction. 
- Tip: Not sure what datatypes a tool is expecting for an input?
    1. Create a new empty history
    2. Click on a tool from the tool panel
    3. The tool form will list the accepted datatypes per input
- _Warning_: In some cases, tools will transform a dataset to a new datatype at runtime for you.
    - This is generally helpful, and best reserved for smaller datasets.
    - Why? This can also unexpectedly create hidden datasets that are near duplicates of your original data, only in a different format. 
    - For large data, that can quickly consume working space (quota). 
    - Deleting/purging any hidden datasets can lead to errors if you are still using the original datasets as an input. 
    - Consider [converting]({% link faqs/galaxy/datasets_convert_datatype.md %}) to the expected datatype yourself when data is large.
    - Then test the tool directly on converted data. If it works, purge the original to recover space.


category: galaxy
filename: datasets_upload_from_genomeark
title: Upload datasets from GenomeArk
area: data upload
box_type: tip
content_hash: 7f0795c8b4e7356f472716afc043f7ea
last_modified: 2026-02-26T21:12:13.703910
contributors_json: ["nekrut"]
content:
1. Open the file {% icon galaxy-upload %} __upload__ menu
2. Click on **Choose remote files** tab
3. Click on the **Genome Ark** button and then click on **species**

You can find the data by following this path: `/species/${Genus}_${species}/${specimen_code}/genomic_data`. Inside a given datatype directory (*e.g.* `pacbio`), select all the relevant files individually until all the desired files are highlighted and click the <kbd>Ok</kbd> button. Note that there may be multiple pages of files listed. Also note that you may not want every file listed.


category: galaxy
filename: datasets_working_with_fasta
title: Working with very large fasta datasets
area: datasets
box_type: tip
content_hash: d5abe6b3783358614bb1901437b8bc84
last_modified: 2026-02-26T21:12:13.704173
contributors_json: ["jennaj", "garimavs"]
content:
- Run **FastQC** on your data to make sure the format/content is what you expect. Run more QA as needed. 
    - Search [GTN](https://training.galaxyproject.org/) tutorials with the keyword “qa-qc” for examples.
    - Search [Galaxy Help](https://help.galaxyproject.org/) with the keywords “qa-qc” and “fasta” for more help.
- Assembly result?
    - Consider filtering by length to remove reads that did not assemble.
    - Formatting criteria:
        - All sequence identifiers must be unique.
        - Some tools will require that there is no description line content, only identifiers, in the fasta title line (“>” line). Use **NormalizeFasta** to remove the description (all content after the first whitespace) and wrap the sequences to 80 bases.
- [Custom genome]({% link faqs/galaxy/analysis_add_custom_build.md %}), transcriptome exome?
    - Only appropriate for smaller genomes (bacterial, viral, most insects).
    - Not appropriate for any mammalian genomes, or some plants/fungi.
    - Sequence identifiers must be an exact match with all other inputs or expect problems. See **GFF GFT GFF3**.  
    - Formatting criteria:
        - All sequence identifiers must be unique.
        - ALL tools will require that there is no description content, only identifiers, in the fasta title line (“>” line). Use **NormalizeFasta** to remove the description (all content after the first whitespace) and wrap the sequences to 80 bases. 
        - The only exception is when executing the **MakeBLASTdb** tool and when the input fasta is in NCBI BLAST format (see the tool form).


category: galaxy
filename: interactive_tools_rstudio_stop
title: Stop RStudio
area: interactive tools
box_type: hands_on
content_hash: 8218ad8c38d4e3e6105c49b2985a783a
last_modified: 2026-02-26T21:12:13.719618
contributors_json: ["yvanlebras", "shiltemann"]
content:
When you have finished your R analysis, it's time to stop RStudio.

1. First, save your work into Galaxy, to ensure reproducibility:
    1. You can use `gx_put("example.csv")` to save individual files by supplying the filename
    2. You can use `gx_save()` to save the entire analysis transcript and any data objects loaded into your environment.

2. Once you have saved your data, you can proceed in 2 different ways:
     - Deleting the corresponding history dataset named `RStudio` and showing a "in progress state", so yellow, OR
     - Clicking on the "User" menu at the top and go to "Active InteractiveTools" and locate the RStudio instance you started, selecting the corresponding box, and finally clicking on the "Stop" button at the bottom.


category: galaxy
filename: troubleshooting_value_error
title: Understanding ValueError error messages
area: troubleshooting
box_type: tip
content_hash: 43967c5d210db4fae673e8e6dadef876
last_modified: 2026-02-26T21:12:13.722757
contributors_json: ["jennaj", "garimavs"]
content:
The full error is usually a longer message seen only after clicking on the bug icon or by reviewing the job details `stderr`.

How to do both is covered in the Troubleshooting errors [FAQ]({% link faqs/galaxy/analysis_troubleshooting.md %}).

<pre>
stderr
...
Many lines of text, may include parameters
...
...
ValueError: invalid literal for int() with base 10: some-sequence-read-name
</pre>

- Causes:
    - MACS2 produces this error the first time it is run. MACS is not the only tool that can produce this issue, but it is the most common.
- Solutions:
    - Try at least one rerun.
    - MACS/2 is not capable of interpreting sequence read names with spaces included. Try following these two:
        - Remove unmapped reads from the SAM dataset. There are several filtering tools in the groups **SAMTools** and **Picard** that can do this.
        - Convert the SAM input to BAM format with the tool **SAMtools: SAM-to-BAM**. When compressed input is given to MACS, the spaces are no longer an issue.


category: galaxy
filename: datasets_BAM_dataset_identifiers
title: Finding BAM dataset identifiers
area: datasets
box_type: tip
content_hash: e16ffd92dcb06a7241a5328915c37f6d
last_modified: 2026-02-26T21:12:13.701469
contributors_json: ["jennaj", "Melkeb"]
content:
Explore the content of your BAM.
1. Run **Samtools: IdxStats** on your `bam` dataset.
2. The reference sequence identifiers inside the "BAM header" will be listed in the result report. 
3. The report is a summary of the BAM content that includes: reference sequence identifiers (chromosome names), their lengths, and a count of the reads mapping to that reference sequence within the BAM file.
4. Compare the sequence identifiers in your BAM file to the the sequence identifiers (aka "chrom" field) field in all other inputs: VCF, GTF, GFF3, BED, Interval, Tabular.
5. It is usually important to use the same reference assembly for all steps within the same analysis. If you discover differences, you may need to choose different reference data.

{% icon tip %} Notes
* This method will *not* work for "sequence-only" `bam` datasets, as these usually have no header and are not associated with a reference assembly yet.


category: galaxy
filename: histories_archive
title: Archive a history
area: histories
box_type: tip
content_hash: a344a91c9dcdd63fc125e25db35f145f
last_modified: 2026-02-26T21:12:13.705639
contributors_json: ["nomadscientist"]
content:
1. Select {% icon galaxy-history-options %} **History Options** which is on the top of the list of datasets in the history panel
2. Select {% icon galaxy-history-archive %} **Archive History**
3. Select the **Archive history** button

Your history is now archived! To find it again, you will need to go to **Data** → **Histories** → **Archived Histories**.


category: galaxy
filename: visualisations_igb
title: Open History files in Integrated Genome Browser (IGB)
area: visualisation
box_type: tip
content_hash: b1bd32450d7a5323dbc11b7c42ff8f2d
last_modified: 2026-02-26T21:12:13.723303
contributors_json: ["paige-kulzer"]
content:
You can open some file types in Integrated Genome Browser (IGB), a desktop genome browser. ([Supported File Types](https://wiki.bioviz.org/confluence/display/igbman/File+Formats))

Here's how:

1. Install IGB on your computer ([download page](https://bioviz.org/download.html)).
2. Start IGB.
3. In Galaxy, click the desired dataset's name to expand it.
   - Check that the reference genome (dbkey) is set
   ([instructions]({% link faqs/galaxy/datasets_change_dbkey.html %})).
4. Click on the Charts icon {% icon galaxy-barchart %}
5. In the central panel, next to `display in IGB`, choose `View`.

When you choose "View" in Galaxy, your browser opens a new tab showing a page from BioViz.org. Check the newly opened page for next steps.

Having trouble? Working with a custom genome assembly not yet available in Galaxy or IGB?

Contact [the IGB team](https://bioviz.org/help.html) for help and advice!


category: galaxy
filename: histories_list
title: View a list of all histories
area: histories
box_type: tip
content_hash: 8e59ee9ff474d7a8ccfda81abf005a04
last_modified: 2026-02-26T21:12:13.706503
contributors_json: ["nekrut", "hexylena"]
content:
There are multiple ways in which you can view your histories:

1. Viewing histories using {% icon switch-histories %} "**Switch to history**" button. This is best for quickly switching between multiple histories.

   Click the "**Switch history**" icon at the top of the history panel to bring up a list of all your histories:
   ![Listing histories using the "Switch history" button]({% link shared/images/histories_list.svg %})

2. Using the "**Activity Bar**":

   Click the "**Show all histories**" button within the Activity Bar on the left:
   ![Listing histories using Activity Bar]({% link shared/images/histories_list_via_activity_bar.svg %})

3. Using "**Data**" drop-down:

   Click the "**Data**" link on the top bar of Galaxy interface and select "**Histories**":
   ![Listing histories using "Data" menu]({% link shared/images/histories_list_via_masthead.svg %})

3. Using the **Multi-view**, which is best for moving datasets between histories:

   Click the {% icon galaxy-history-options %} menu, and select {% icon galaxy-multihistory %} **Show histories side-by-side**



<!-- Original drawing for histories_list.svg = https://docs.google.com/drawings/d/1fiMTFt4q1DwJllnxjddG0LA-XwKkxyXfPlOqUHteX_k/edit?usp=sharing -->
<!-- Original drawing for histories_list_via_activity_bar.svg = https://docs.google.com/drawings/d/1YyUMe6hhhejhRaqFEBmG_NwUS_9VXFZY2uYSoUNlFwY/edit?usp=sharing -->
<!-- Original drawing for histories_list_via_mesthead.svg = https://docs.google.com/drawings/d/1ReFUBwfVlbrKz0pJqY0xxnbb3EjRYJRzoq9bi1NqH-w/edit?usp=sharing -->


category: galaxy
filename: analysis_jobs_not_running
title: My jobs aren't running!
area: analysis
box_type: tip
content_hash: aec98c8863e9c1b9dde74d2ec5a12e6e
last_modified: 2026-02-26T21:12:13.699819
contributors_json: ["shiltemann"]
content:
1. **Please make sure you are logged in**. At the top menu bar, you should see a section labeled “User”. If you see “Login/Register” here you are not logged in.

2. **Activate your account**. If you have recently registered your account, you may first have to activate it. You will receive an e-mail with an activation link.
  - Make sure to check your spam folder!

3. **Be patient**. Galaxy is a free service, when a lot of people are using it, you may have to wait longer than usual (especially for 'big' jobs, e.g. alignments).

4. **Contact Support**. If you really think something is wrong with the server, you can [ask for support]({{site.baseurl}}/faqs/galaxy/support.html)


category: galaxy
filename: request-galaxy-tools-on-a-specific-server
title: Request Galaxy tools on a specific server
area: tools
box_type: tip
content_hash: 7e6379e6d04fe6d322c42a3fe2c39a2b
last_modified: 2026-02-26T21:12:13.720837
contributors_json: ["nomadscientist"]
content:
To request tools that already exist in the [Galaxy toolshed](https://toolshed.g2.bx.psu.edu), but not in your server, please raise an issue at:

- *Europe - usegalaxy.eu* \| [https://github.com/usegalaxy-eu/usegalaxy-eu-tools](https://github.com/usegalaxy-eu/usegalaxy-eu-tools)

- *USA - usegalaxy.org* \| [https://github.com/galaxyproject/usegalaxy-tools](https://github.com/galaxyproject/usegalaxy-tools)

- *Australia - usegalaxy.org.au* \| [https://site.usegalaxy.org.au/request/tool](https://site.usegalaxy.org.au/request/tool)


category: galaxy
filename: datasets_hidden
title: How to hide datasets?
area: datasets
box_type: tip
content_hash: 43925942176032c2a33bc7bf5d4dddf7
last_modified: 2026-02-26T21:12:13.702658
contributors_json: ["jennaj", "beachyesh", "nekrut"]
content:
To hide datasets:

- Click {% icon history-select-multiple %} icon at the top of the history pane;
- Select datasets you want to hide;
- Click the dropdown that would appear at the top of the history;
- Select **"Hide"** option.

![An animated gif showing how to hide datasets]({% link shared/images/datasets_hide.gif %})


category: galaxy
filename: datasets_detect_datatype
title: Detecting the datatype (file format)
area: datasets
box_type: tip
content_hash: d7b3dc9b439220833550e51fb19c0a4e
last_modified: 2026-02-26T21:12:13.702323
contributors_json: ["bebatut", "nsoranzo", "hexylena", "annefou", "shiltemann"]
content:
* Click on the {% icon galaxy-pencil %} **pencil icon** for the dataset to edit its attributes
* In the central panel, click on the {% icon galaxy-chart-select-data %} **Datatypes** tab on the top
* Click the **Auto-detect** button to have Galaxy try to autodetect it.


category: galaxy
filename: collections_build_list_paired
title: Creating a paired collection
area: collections
box_type: tip
content_hash: 09e6d04a3c6a5f960a752a0edaf0708d
last_modified: 2026-02-26T21:12:13.700869
contributors_json: ["shiltemann", "hexylena", "lldelisle", "pavanvidem", "tflowers15"]
content:
* Click on {% icon galaxy-selector %} **Select Items** at the top of the history panel ![Select Items button]({% link topics/galaxy-interface/images/historyItemControls.png %})
* Check {% if include.datasets_description %}{{ include.datasets_description }}{% else %}all the datasets in your history you would like to include{% endif %}
* Click **{% if include.n %}{{ include.n }}{% else %}n{% endif %} of N selected** and choose **Advanced Build List**

  ![build paired collection menu item]({% link topics/galaxy-interface/images/buildList.png %}){:width="15%"}

* You are in the collection building wizard. Choose **List of Paired Datasets** and click 'Next' button at the right bottom corner.

  ![collection building wizard paired list]({% link topics/galaxy-interface/images/paired_list_selector.png %}){:width="15%"}

* Check and configure auto-pairing. Commonly matepairs have suffix `_1 ` and `_2` or `_R1` and `_R2`. Click on 'Next' at the bottom.

  ![edit and build a paired list collection]({% link topics/galaxy-interface/images/paired_list_edit.png %}){:width="15%"}

* Edit the  **List Identifier** as required.
* Enter a name for your collection
* Click **Build** to build your collection
* Click on the checkmark icon at the top of your history again


category: galaxy
filename: histories_datasets_vs_collections
title: Datasets versus collections
area: collections, histories
box_type: tip
content_hash: bfd5687b951c6e863ef7caa210e00655
last_modified: 2026-02-26T21:12:13.706063
contributors_json: ["nekrut"]
content:
**Datasets versus collections**

In Galaxy's history datasets can be present as individual entries or they can be combined into *Collections*. Why do we need collections? Collections combine multiple individual
datasets into a single entity which is easy to manage. Galaxy tools can use collections directly as inputs. Collection can be **simple** or **nested**.

**Simple collections**

Imagine that you've uploaded a hundred FASTQ files corresponding to a hundred samples. These will appear as a hundred individual datasets in your history making it very long.
But the chances are that when you analyze these data you will do the same thing on each dataset.

To simplify this process you can combine all hundred datasets into a single entity called a *dataset collection* (or simply a *collection* or a *list*). It will appear as a single box in your history making it much easier to understand. Galaxy tools are designed to take collections as inputs. So, for example, if you want to map each of these datasets against a reference genome using, say, {% tool Minimap2 %}, you will need to provide `minmap2` with just one input, the collection, and it will automatically start 100 jobs behind the scenes and will combine all outputs into a single collection containing BAM files.

![A simple collection is a container containing individual datasets]({% link shared/images/simple_collection.svg %})

There is a number of situations when simple collections are not sufficient to reflect the complexity of the data. To deal with this situation Galaxy allows for **nested** collections.

**Nested collections**

Probably the most common example of this is paired end data when each sample is represented by two files: one containing forward reads and another containing reverse reads. In Galaxy you can create **nested** collection that reflects the hierarchy of the data. In the case of paired data Galaxy supports **paired** collections.

![A paired collection is a container containing individual datasets and preserving their hierarchy]({% link shared/images/paired_collection.svg %})

<!-- Original editable image for simple collections = https://docs.google.com/drawings/d/1A-tRerNLzC4FJfShUFT327wMvSSX4Y8AAdaxD_Fwaa0/edit?usp=sharing -->
<!-- Original editable image for paired collection = https://docs.google.com/drawings/d/1Bbx4UmIYdDAqK3KSm6LtLQ8zwEXxDglHmVbb0MK-mbQ/edit?usp=sharing -->


category: galaxy
filename: workflows_edit
title: Opening the workflow editor
area: workflows
box_type: tip
content_hash: a6654d71524837730e8c95af04777d9f
last_modified: 2026-02-26T21:12:13.723989
contributors_json: ["pvanheus", "shiltemann", "annefou", "nsoranzo", "hexylena", "wm75"]
content:
1. Click on {% icon galaxy-workflows-activity %} *Workflows* in the Galaxy activity bar (on the left side of the screen, or in the top menu bar of older Galaxy instances)
2. Click on the {% icon galaxy-wf-edit %} *Edit* button of the workflow you would like to edit
3. Make your desired changes in the workflow editor
4. Click on the {% icon dataset-save %} *Save* icon, which appears next to the workflow title if you have unsaved changes, to save your changes and continue editing, or on {% icon dataset-save %} *Save + Exit* in the activity bar to save your changes and leave the workflow editor.


category: galaxy
filename: troubleshooting_excess_memory
title: Understanding 'exceeds memory allocation' error messages
area: troubleshooting
box_type: tip
content_hash: bcb5f1e00a455a4c6c154cc6a1b5c92c
last_modified: 2026-02-26T21:12:13.722567
contributors_json: ["jennaj", "garimavs"]
content:
The error message to be displayed are as follows:
<pre>
job info:
This job was terminated because it used more memory than it was allocated.
Please click the bug icon to report this problem if you need help.
</pre>

Or
<pre>
stderr:
Fatal error: Exit code 1 ()
slurmstepd: error: Detected 1 oom-kill event(s) in step XXXXXXX.batch cgroup.
</pre>

Sometimes this message may appear at the bottom
<pre>
job stderr:
slurmstepd: error: Detected 1 oom-kill event(s) in step XXXXXXX.batch cgroup.
</pre>

In rare cases when the memory quota is exceeded very quickly, an error message such as the following can appear
<pre>
job stderr:
Fatal error: Exit code 1 ()
Traceback (most recent call last):
(other lines)
Memory Error
</pre>

**Note:** Job runtime memory is different from the amount of free storage space (quota) in an account.

- Causes:
    - The job ran out of memory while executing on the cluster node that ran the job.
    - The most common reasons for this error are input and tool parameters problems that must be adjusted/corrected.
- Solutions:
    - Try at least one rerun to execute the job on a different cluster node.
    - Review the Solutions section of the [Understanding input error messages]({% link faqs/galaxy/troubleshooting_input_problem.md %}) FAQ.
    - Your data may actually be too large to process at a public Galaxy server. Alternatives include setting up a [private Galaxy server]({% link faqs/gtn/galaxy_usage.md %}).


category: galaxy
filename: datasets_multiple
title: Manipulating multiple history datasets
area: histories
box_type: tip
content_hash: 177e3d7ea94092de6630779ae73f3f02
last_modified: 2026-02-26T21:12:13.703249
contributors_json: ["nekrut"]
content:
You can also hide, delete, and purge multiple datasets at once by **multi-selecting datasets**:

1. {% icon galaxy-selector %} Click the multi-select button containing the checkbox just below the history size.
2. Checkboxes will appear inside each dataset in the history.
3. Scroll and click the checkboxes next to the datasets you want to manage.
4. Click the 'n of N selected' to choose the action. The action will be performed on all selected datasets, except for the ones that don't support the action. That is, if an action doesn't apply to a selected dataset, like deleting a deleted dataset, nothing will happen to that dataset, while all other selected datasets will be deleted.
6. You can click the multi-select button again to hide the checkboxes.

![Operating on multiple datasets]({% link faqs/galaxy/images/multiselect.gif %})


category: galaxy
filename: collections_rename
title: Renaming a collection
area: collections
box_type: tip
content_hash: 3f7c606d2fa06bf43655658d0906e08c
last_modified: 2026-02-26T21:12:13.701220
contributors_json: ["delphine-l", "martenson", "shiltemann", "hexylena"]
content:
1. Click on the collection
2. Click on the name of the collection at the top
3. Change the name {% if include.name %} to `{{ include.name }}` {% endif %}
4. Press <kbd>Enter</kbd>


category: galaxy
filename: histories_unsharing_histories
title: Unsharing unwanted histories
area: histories
box_type: tip
content_hash: d5b5b0c4bc3f142d83d2b2be00c59500
last_modified: 2026-02-26T21:12:13.707553
contributors_json: ["jennaj", "garimavs"]
content:
- All account Histories owned by others but shared with you can be reviewed under **User > Histories shared with me**.
- The other person does not need to unshare a history with you. _Unshare histories yourself_ on this page using the pull-down menu per history.
- Dataset and History privacy options, including sharing, can be set under **User > Preferences**.

Three key features to work with shared data are:

- **View** is a review feature. The data cannot be worked with, but many details, including tool and dataset metadata/parameters, are included.
- **Copy** those you want to work with. This will increase your quota usage. This will also allow you to manipulate the datasets or the history independently from the original owner. All History/Dataset functions are available if the other person granted full access to the datasets to you. 
- **Unshare** any on the list not needed anymore. After a history is copied, you will still have your version of the history, even if later unshared or the other person who shared it with you changes their version later. Meaning, that _each account's version of a History and the Datasets in it are distinct_ (unless the Datasets were not shared, you will still only be able to "view" but not work with or download them).
 
**Note:** "Histories shared with me" result in only a tiny part of your quota usage. Unsharing will not significantly reduce quota usage unless hundreds (or more!) or many significant histories are shared. If you share a History with someone else, that does not increase or decrease your quota usage.


category: galaxy
filename: tools_select_collection
title: Selecting a dataset collection as input
area: tools
box_type: tip
content_hash: e11636bdf6f17a20b1e408bdf03d9a74
last_modified: 2026-02-26T21:12:13.722048
contributors_json: ["bebatut", "shiltemann", "hexylena"]
content:
1. Click on {% icon param-collection %} **Dataset collection** in
    front of the input parameter you want to supply the collection to.
2. Select the collection you want to use from the list


category: galaxy
filename: why_not_excel
title: Why not use Excel?
area: features
box_type: tip
content_hash: f4081e27485f9d0ce449879c2a04e743
last_modified: 2026-02-26T21:12:13.723504
contributors_json: ["hexylena"]
content:
You could just as easily use Excel to answer the same question, and if the goal is to learn how to use a tool, then either tool would be great! But what if you are working on a question where your analysis matters? Maybe you are working with human clinical data trying to diagnose a set of symptoms, or you are working on research that will eventually be published and maybe earn you a Nobel Prize?

In these cases your analysis, *and the ability to reproduce it exactly*, is vitally important, and Excel won't help you here. It doesn't track changes and it offers very little insight to others on how you got from your initial data to your conclusions.

Galaxy, on the other hand, *automatically records every step of your analysis.* And when you are done, you can share your analysis with anyone. You can even include a link to it in a paper (or your acceptance speech). In addition, you can create a reusable workflow from your analysis that others (or yourself) can use on other datasets.

Another challenge with spreadsheet programs is that they don't scale to support *next generation sequencing (NGS)* datasets, a common type of data in genomics, and which often reach gigabytes or even terabytes in size. Excel has been used for large datasets, but you'll often find that learning a new tool gives you significantly more ability to scale up, and scale out your analyses.


category: galaxy
filename: collections_change_datatype
title: Changing the datatype of a collection
area: collections
box_type: tip
content_hash: df8758e1c15113729cb1a765c7ec040d
last_modified: 2026-02-26T21:12:13.700954
contributors_json: ["shiltemann", "hexylena"]
content:
1. Click on **Edit** {% icon galaxy-pencil %} next to the collection name in your history
2. In the central panel, click on the {% icon galaxy-chart-select-data %} **Datatypes** tab on the top
3. Under **new type**, select {% if include.datatype %}`{{ include.datatype }}`{% else %} your desired datatype {% endif %}
  - tip: you can start typing the datatype into the field to filter the dropdown menu
4. Click the **Save** button


**Cannot find the feature?**

If you are on a smaller Galaxy server, i.e. not one of the large (multi)national public servers, you may not be able to find this operation, and there is no indication it is missing or why it is disabled.

Galaxy has recently started putting [more features behind a setting and deployment configuration](https://docs.galaxyproject.org/en/master/admin/production.html#use-celery-for-asynchronous-tasks) that needs to be enabled by the server administrator.
Your administrator will need to deploy Celery and potentially additionally flower and redis to their stack to enable changing the datatype of a collection. Consider sending your Galaxy administrator the link to the [simpler deployment option]({% link topics/admin/tutorials/celeryless/tutorial.md %}) or more complex [GTN tutorial for setting up redis and flower]({% link topics/admin/tutorials/celery/tutorial.md %}).


category: galaxy
filename: analysis_cut
title: Beware of Cuts
area: analysis
box_type: warning
content_hash: e6c4c7f00b41c0105f715f932e93d46e
last_modified: 2026-02-26T21:12:13.699461
contributors_json: ["hexylena"]
content:
The section below uses **Cut** tool. There are two **cut** tools in Galaxy due to historical reasons. This example uses tool with the full name {% tool [Cut columns from a table](Cut1) %}. However, the same logic applies to the other tool called {% tool [Advanced Cut](toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_cut_tool/9.5+galaxy0) %}. It simply has a slightly different interface.


category: galaxy
filename: support_messaging_system
title: How can I use the Matrix messaging system for Galaxy Project communication?
area: support
box_type: tip
content_hash: aaff052c3df8438695cb8f0415929fae
last_modified: 2026-02-26T21:12:13.721333
contributors_json: ["hujambo-dunia"]
content:
### Introduction

The Galaxy community uses [Matrix](https://matrix.org/) – a secure, decentralized, open-source messaging protocol – as its primary chat system. Matrix enables real-time communication across Galaxy contributors, developers, trainers, and users. Common uses include:

* Getting help from the community
* Discussing tool and workflow development
* Organizing training events and materials
* Collaborating on Galaxy infrastructure or scientific questions

Matrix provides an open alternative to proprietary platforms like Slack and Microsoft Teams, with broader flexibility and user privacy in mind.

---

### 🔰 For Newbies: Getting Started with Matrix

If you are new to messaging systems, here's how to get started with Galaxy on Matrix:

<img src="{% link faqs/galaxy/images/support_matrix_element.jpg %}" alt="Galaxy Project Matrix space using the Element client app" width="350" align="right">

#### Step 1: Choose and install a Matrix app

**Install a Matrix client app:** Download and install a Matrix client:

* [**Element**](https://element.io/) – Recommended. Available on [Web](https://app.element.io), [iOS](https://apps.apple.com/app/element/id1083446067), [Android](https://play.google.com/store/apps/details?id=im.vector.app), [Windows/macOS/Linux](https://element.io/download).&#x20;

* [**Cinny**](https://cinny.in/)

* [**Other Matrix clients...**](https://matrix.org/ecosystem/clients/)

All of these apps connect to the same Galaxy channels/rooms. Choose the interface that works best for you.

#### Step 2: Create a Matrix account

* Open the app and sign up. It's easiest to use the default public server at `matrix.org` for your account.
* Choose a username. Your Matrix ID will look like: `@yourname:matrix.org`.

#### Step 3: Join the Galaxy **"Lobby"**

* In your Matrix client, join the [main Galaxy chat room - The Lobby](https://matrix.to/#/#galaxyproject_Lobby:gitter.im).
  * If you're using the Element client, click Explore (the compass icon) and search for "Galaxy" – look for a room named Galaxy or Galaxy Lobby (often with an address like `#galaxyproject:matrix.org`).
  * Alternatively, you can use a direct Matrix link if provided, which will prompt your app to join the room.

* In addition to the [Lobby room](https://matrix.to/#/#galaxyproject_Lobby:gitter.im), join other Matrix rooms via direct links once logged in:

<div align="center">

  <table border="1">
    <thead>
      <tr>
        <th>Galaxy Subjects on Matrix:</th>
        <th>Galaxy Users on Matrix:</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>
          <a href="https://matrix.to/#/#GalaxyProteomics_Lobby:gitter.im" >Proteomics</a> <br>
          <a href="https://matrix.to/#/#galaxyproject_microGalaxy:gitter.im" >Microbiology</a> <br>
          <a href="https://matrix.to/#/#Galaxy-Training-Network_galaxy-single-cell:gitter.im" >Single-Cell & Spatial Omics Users</a> <br>
          <strong><a href="https://matrix.to/#/#galaxyproject:matrix.org" >All Galaxy Matrix rooms, 70+ rooms</a></strong>
        </td>
        <td>
          <a href="https://matrix.to/#/#galaxyproject_tools:gitter.im" >Tool Authors</a> <br>
          <a href="https://matrix.to/#/#galaxyproject_dev:gitter.im" >Developers</a> <br>
          <a href="https://matrix.to/#/#galaxyproject_wg-goat:gitter.im" >Outreach</a> <br>
          <a href="https://matrix.to/#/#galaxyproject_admins:gitter.im" >Admins</a>
        </td>
      </tr>
    </tbody>
  </table>

</div>

**Say hello and ask questions:** Once in the Galaxy Lobby, feel free to introduce yourself or ask your question. This Lobby room is a friendly starting point – community members will welcome you, answer basic questions, and guide you to more specific Galaxy channels/rooms if needed. You will be redirected to the right room if needed.

---

### 💡 For Experienced Users (Slack/Teams/Discord Users)

If you've used tools like Slack, Microsoft Teams, or Discord, Matrix will feel familiar — with a few important differences:

#### ✅ Key Similarities

* **Rooms ≈ Channels**: Rooms are topic-based, like Slack channels.
* **DMs supported**: You can message users privately.
* **Multiple devices**: Stay logged in on phone, tablet, laptop.

#### ❗ Key Differences

* **Federated, decentralized network**: There is no single “Galaxy workspace” to be invited to. Join any Matrix room directly via a public server.
* **Flexible clients**: You can use different Matrix client apps across platforms. They all show the same chats.
* **Room discovery**: Galaxy may provide a **Matrix Space** to group related rooms to organize communities (e.g. training, user help, development, working groups/wg, infrastructure).
* **Bridged rooms**: Some rooms are connected to Gitter or other services, but behave normally in Matrix. For example:

  ```
  #galaxyproject_Lobby:gitter.im
  ```

  This is a Matrix room that also syncs with users on Gitter. You can treat them as normal Matrix rooms; messages are synced across the platforms.

---

### 🔐 Security and Privacy

Matrix supports **end-to-end encryption (E2EE)** in private conversations and invite-only rooms.

However, **public Galaxy rooms are not encrypted**. This is intentional so people can easily join and search history. Therefore:

* 🔍 **Assume public visibility**: Don't share passwords, private research data, or anything sensitive.
* 🙈 **Use nicknames if preferred**: Your Matrix ID is visible in public rooms, but you don't have to use your real name.
* 🔐 **Private DMs are encrypted by default**.
* ⚠️ **Be cautious**: Even with encryption, nothing is foolproof. Use common sense.

Matrix is designed for open collaboration. When in doubt, treat public rooms like an open forum.

---

### 📍 TL;DR Quickstart

* ✅ Install [Element](https://element.io) or another Matrix app
* ✅ Create an account (Matrix ID)
* ✅ Join `#galaxyproject:matrix.org` (Galaxy Lobby)
* ✅ Ask questions or join other Galaxy rooms from there
* ❌ Don't share private info in public rooms

For more Matrix help: [https://matrix.org/docs](https://matrix.org/docs)

See you in the Lobby! 🎉


category: galaxy
filename: support_admins
title: Contacting Galaxy Administrators
area: support
box_type: tip
content_hash: 3a75596973732228db4af4137e52ecb5
last_modified: 2026-02-26T21:12:13.721224
contributors_json: ["shiltemann"]
content:
If you suspect there is something wrong with the server, or would like to request a tool to be installed, you should contact the server administrators for the Galaxy you are on.

- **Tool error?** Please follow these [troubleshooting steps]({% link faqs/galaxy/analysis_troubleshooting.md %})
- Each Galaxy server has different contact procedures, here are the contact options for the 3 biggest servers:
  - **Galaxy US:** [Gitter channel](https://gitter.im/galaxyproject/Lobby)
  - **Galaxy EU:** [Gitter channel](https://gitter.im/usegalaxy-eu/Lobby), [Request TIaaS](https://usegalaxy.eu/tiaas/)
  - **Galaxy AU:** [Email](mail:help@genome.edu.au), [Request a tool](https://request.usegalaxy.org.au/), [Request Data Quota](https://docs.google.com/forms/d/e/1FAIpQLSeiw6ajmkezLCwbXc3OFQEU3Ai9hGnBd967u9YbQ8ANPgvatA/viewform)
  - **Galaxy FR:** [Request TIaaS](https://usegalaxy.fr/tiaas/)
  - Other Galaxy servers? Check the homepage for more information.


category: galaxy
filename: analysis_jobs_keep_running
title: Will my jobs keep running?
area: analysis
box_type: tip
content_hash: af8aeffcd9fd6c41ca9064f6667599ff
last_modified: 2026-02-26T21:12:13.699739
contributors_json: ["hexylena"]
content:
Galaxy is a fantastic system, but some users find themselves wondering:

> Will my jobs keep running once I've closed the tab? Do I need to keep my browser open?

No, you don't! You can safely:

1. Start jobs
2. Shut down your computer

and your jobs will keep running in the background! Whenever you next visit Galaxy, you can check if your jobs are still running or completed.

**However**, this is not true for uploading data from your computer. You must wait for uploading a dataset *from your computer* to finish. (Uploading via URL is not affected by this, if you're uploading from URL you can close your computer.)


category: galaxy
filename: datasets_icons
title: Different dataset icons and their usage
area: datasets
box_type: tip
content_hash: bfe63b029c576eb70a0f7b91468a3632
last_modified: 2026-02-26T21:12:13.702739
contributors_json: ["jennaj", "garimavs"]
content:
Dataset icons and their usage:

- {% icon galaxy-eye %} **"Eye icon"**: Display dataset contents.
- {% icon galaxy-pencil %} **"Pencil icon"**: Edit attributes of dataset metadata: labels, datatype, database.
- {% icon galaxy-delete %} **"Trash icon"**: Delete the dataset.
- {% icon galaxy-save %} **"Disc icon"**: Download the dataset.
- {% icon galaxy-link %} **"Copy link"**: Copy link URL to the dataset.
- {% icon galaxy-info %} **"Info icon"**: Dataset details and job runtime information: inputs, parameters, logs.
- {% icon galaxy-refresh %} **"Refresh/Rerun icon"**: Run this (selected) job again or examine original submitted form.
- {% icon galaxy-barchart %} **"Visualize icon"**: External display links (UCSC, IGV, NPL, PV); Charts and graphing; Editor (manually edit text).
- {% icon galaxy-dataset-map %} **"Dataset Map icon"**: Filter the history for related Input/Output Datasets. Click again to clear the filter.
- {% icon galaxy-bug %} **"Bug icon"**: Review subset of logs (review all under {% icon galaxy-info %}), and optionally submit a bug report.


category: galaxy
filename: troubleshooting_walltime
title: Understanding walltime error messages
area: troubleshooting
box_type: tip
content_hash: 1b465829efa753ab4daebfba0f6b42c5
last_modified: 2026-02-26T21:12:13.722842
contributors_json: ["jennaj", "garimavs"]
content:
The full error message will be reported as below, and can be found by clicking on the bug icon for a failed job run (red dataset):
<pre>
job info:
This job was terminated because it ran longer than the maximum allowed job run time.
Please click the bug icon to report this problem if you need help.
</pre>
Or sometimes,
<pre>
job stderr:
slurmstepd: error: *** JOB XXXX ON XXXX CANCELLED AT 2019-XX-XXTXX:XX:XX DUE TO TIME LIMIT ***

job info:
Remote job server indicated a problem running or monitoring this job.
</pre>

- Causes:
    - The job execution time exceeded the "wall-time" on the cluster node that ran the job.
    - The server may be undergoing maintenance.
    - Very often input problems also cause this same error.
- Solutions:
    - Try at least one rerun.
    - Check the server homepage for banners or notices. Selected servers also post to the [Galaxy status page](https://status.galaxyproject.org/).
    - Review the Solutions section of the [Understanding input error messages]({% link faqs/galaxy/troubleshooting_input_problem.md %}) FAQ.
    - Your data may actually be too large to process at a public Galaxy server. Alternatives include setting up a [private Galaxy server]({% link faqs/gtn/galaxy_usage.md %}).


category: galaxy
filename: preferences_admin_api_key
title: Getting your API key
area: user preferences
box_type: tip
content_hash: 52fed11047fdf87a72e1db0609201a2a
last_modified: 2026-02-26T21:12:13.719976
contributors_json: ["hexylena", "shiltemann", "bebatut"]
content:
{% if include.dev %}
A quick way to get an API key is to create a new user on our local Galaxy server. Navigate to the Galaxy base directory and execute the [run.sh](https://github.com/galaxyproject/galaxy/blob/dev/run.sh) script. This starts the Galaxy server.
{% elsif include.admin %}
Galaxy admin accounts are specified as a comma-separated email list in the `admin_users` directive of `galaxy.yml` . If you have set up your Galaxy server using the [Galaxy Installation with Ansible]({% link topics/admin/tutorials/ansible-galaxy/tutorial.md %}) tutorial, this is set to `admin@example.org`.
{% endif %}

1. In your browser, open your Galaxy homepage{% if dev %}, [http://localhost:8080/](http://localhost:8080/){% endif %}
2. Log in, or register a new account, if it's the first time you're logging in
3. Go to `User -> Preferences` in the top menu bar, then click on `Manage API key`
4. If there is no current API key available, click on `Create a new key` to generate it
5. Copy your API key to somewhere convenient, you will need it throughout this tutorial


category: galaxy
filename: datasets_UCSC_sourced_genome
title: Directly obtaining UCSC sourced *genome* identifiers
area: data upload
box_type: tip
content_hash: c048ce27319399474013e19581c4b7a2
last_modified: 2026-02-26T21:12:13.701556
contributors_json: ["jennaj", "Melkeb"]
content:
**Option 1**

1. Go to [UCSC Genome Browser](http://genome.ucsc.edu/), navigate to "genomes", then the species of interest.
2. On the home page for the genome build, immediately under the top navigation box, in the blue bar next to the full genome build name, you will find **View sequences** button.
3. Click on the **View sequences** button and it will take you to a detail page with a table listing out the contents.

**Option 2**

1. Use the tool **Get Data -> UCSC Main**.
2. In the Table Browser, choose the target genome and build.
3. For "group" choose the last option "All Tables".
4. For "table" choose "chromInfo".
5. Leave all other options at default and send the output to Galaxy.
6. This new dataset will load as a tabular dataset into your history.
7. It will list out the contents of the genome build, including the chromosome identifiers (in the first column).


category: galaxy
filename: tools_help
title: Where is the tool help?
area: tools
box_type: tip
content_hash: 23eedc968472a14da2941340801fea23
last_modified: 2026-02-26T21:12:13.721605
contributors_json: ["jennaj", "beachyesh"]
content:
There is documentation available on the tool form itself which mentions the following information:
- Parameters
- Expected format for input dataset(s)
- Links to publications and ToolShed source repositories
- Tool and wrapper version(s)
- 3rd party author web sites and documentation

**Scroll down on the tool form** to locate:
 - Information about expected inputs/outputs
 - Expanded definitions
 - Sample data
 - Example use cases
 - Graphics


category: galaxy
filename: account_update_preference
title: How to update account preferences?
area: account
box_type: tip
content_hash: 06966e81860e6e3de5eaa749a73f603f
last_modified: 2026-02-26T21:12:13.699040
contributors_json: ["jennaj", "bernandez"]
content:
1. Log in to Galaxy
2. Navigate to [**User -> Preferences**](https://my.galaxy.training/?path=/user) on the top menu bar
3. Here you can update various preferences, such as:
   - {% icon pref-info %} Manage Information (change your registered email addresses or public name)
   - {% icon pref-password %} Change Password (change your login credentials)
   - {% icon pref-permissions %} Set Dataset Permissions for New Histories (grant others default access to newly created histories)
   - {% icon pref-toolboxfilters %} Manage Toolbox Filters (customize your Toolbox by displaying or omitting sets of Tools)
   - {% icon pref-apikey %} Manage API Key (access your current API key or create a new one)
   - {% icon pref-notifications %} Manage Notifications (allow push and tab notifcations on job completion)
   - {% icon pref-cloud %} Manage Cloud Authorization (grants Galaxy to access your cloud-based resources)
   - {% icon pref-identities %} Manage Third-Party Identities (connect or disconnect access to your third-party identities)
   - {% icon pref-custombuilds %} Manage Custom Builds (custom databases based on fasta datasets)
   - {% icon pref-list %} Manage Activity Bar (a bonus navigation bar)
   - {% icon pref-palette %} Pick a Color Theme (interface color theme)
   - {% icon pref-dataprivate %} Make All Data Private (disable all data sharing)
   - {% icon pref-delete %} Delete Account (on this Galaxy server)
   - {% icon pref-signout %} Sign out of Galaxy (signs you out of all sessions)


category: galaxy
filename: datasets_working_with_reference_annotation
title: Working with GFF GFT GTF2 GFF3 reference annotation
area: datasets
box_type: tip
content_hash: f470486123706420fc383e700096fc9c
last_modified: 2026-02-26T21:12:13.704342
contributors_json: ["jennaj", "garimavs"]
content:
- All annotation datatypes have a distinct format and content specification.
    - Data providers may release variations of any, and tools may produce variations. 
    - GFF3 data may be labeled as GFF.
    - Content can overlap but is generally not understood by tools that are expecting just one of these specific formats. 
- Best practices
    - The sequence identifiers must exactly match between reference annotation and reference genomes transcriptomes exomes.
    - Most tools expect GFT format unless the tool form specifically notes otherwise.
        - Get the GTF version from the data providers if it is available.
        - If only GFF3 is available, you can attempt to transform it with the tool **gffread**.
    - Was GTF data detected as GFF during Upload? It probably has headers.
        -Remove the headers (lines that start with a "#") with the **Select** tool using the option "NOT Matching" with the regular expression: ^#
        - [Redetect the datatype]({% link faqs/galaxy/datasets_detect_datatype.md %}). It should be GTF once corrected.
    - UCSC annotation
        - Find annotation under their Downloads area. The path will be similar to: `https://hgdownload.soe.ucsc.edu/goldenPath/<database>/bigZips/genes/`
        - Copy the URL from UCSC and paste it into the Upload tool, allowing Galaxy to detect the datatype.


category: galaxy
filename: datasets_create_new_file
title: Creating a new file
area: datasets
box_type: tip
content_hash: 98ad21150541a745c9b2a2afe295ca29
last_modified: 2026-02-26T21:12:13.702064
contributors_json: ["bebatut", "shiltemann", "wm75", "hexylena", "simonbray"]
content:
* Click {% icon galaxy-upload %} **Upload Data** at the top of the tool panel
* Select {% icon galaxy-wf-edit %} **Paste/Fetch Data** at the bottom
* Paste the file contents into the text field
{% if include.name %}
* Change the dataset name from "New File" to `{{ include.name }}`
{% endif %}
{%- if include.format -%}
* Change **Type** from "Auto-detect" to `{{ include.format }}`
{%- endif -%}
{%- if include.genome -%}
* Change **Genome** to `{{ include.genome }}`
{%- endif -%}
{%- if include.convertspaces -%}
* From the Settings menu ({% icon galaxy-gear %}) select **Convert spaces to tabs**
{%- endif -%}
* Press **Start** and **Close** the window


category: galaxy
filename: support
title: Where do I get more support?
area: support
box_type: tip
content_hash: c763860b86df17669648dbe3ed9b52e3
last_modified: 2026-02-26T21:12:13.721130
contributors_json: ["shiltemann"]
content:
If you need support for using Galaxy, running your analysis or completing a tutorial, please try one of the following options:

- **Gitter Chat**: You can get help on Gitter chat platform, on various channels.
  - [Galaxy General Support](https://gitter.im/galaxyproject/Lobby)
  - [GTN Training Support](https://gitter.im/Galaxy-Training-Network/Lobby)
  - [Galaxy EU Server](https://gitter.im/usegalaxy-eu/Lobby)

- **Galaxy Help Forum**: You can also have a look at the [Galaxy Help Forum](https://help.galaxyproject.org). Your question may already have been answered here before. If not, you can post your question here.

- **Contact Server Admins:** If you think there is a problem with the Galaxy server, or you would like to make a request, [contact the Galaxy server administrators]({% link faqs/galaxy/support_admins.md %}).


category: galaxy
filename: dataset_tool_errors_metadata
title: How to find and correct tool errors related to Metadata?
area: troubleshooting
box_type: tip
content_hash: 66d40e7def55efb2a97d130eb3b9da7c
last_modified: 2026-02-26T21:12:13.701384
contributors_json: ["jennaj", "beachyesh"]
content:
Tools can error when the wrong dataset attributes (metadata) are assigned. Some of these wrong assignments may be:
 - Tool outputs, which are automatically assigned without user action.
 - Incorrect autodetection of datatypes, which need manual modification.
 - Undetected attributes, which require user action (example: assigning database to newly uploaded data).

How to notice missing Dataset Metadata:
- Dataset will not be downloaded when using the disk icon {% icon galaxy-save %}.
- Tools error when using a previously successfully used specific dataset.
- Tools error with a message that ends with: ``OSError: [Errno 2] No such file or directory``.

Solution:

Click on the dataset's pencil icon {% icon galaxy-pencil %} to reach the _Edit Attributes_ forms and do one of the following as applies:
- **Directly reset metadata**
  - Find the tab for the metadata you want to change, make the change, and save.
- **Autodetect metadata**
  - Click on the _Auto-detect button_. The dataset will turn yellow in the history while the job is processing.


category: galaxy
filename: workflows_import_search
title: Importing a workflow using the Tool Registry Server (TRS) search
area: workflows
box_type: tip
content_hash: 30a81884b968591748229ba1907bd178
last_modified: 2026-02-26T21:12:13.724620
contributors_json: ["bebatut", "wm75"]
content:
1. Click on {% icon galaxy-workflows-activity %} *Workflows* in the Galaxy activity bar (on the left side of the screen, or in the top menu bar of older Galaxy instances). You will see a list of all your workflows
2. Click on {% icon galaxy-upload %} **Import** at the top-right of the screen
3. On the new page, select the **GA4GH servers** tab, and configure the **GA4GH Tool Registry Server (TRS) Workflow Search** interface as follows:
   1. *"TRS Server"*: {% if include.trs_server %}**{{ include.trs_server }}**{% else %}the TRS Server you want to search on (Dockstore or workflowhub.eu){% endif %}
   2. {% if include.search_query %}*"search query"*: `{{ include.search_query }}`
      {% else %}Type in the *search query*{% endif %}

      {% unless include.disable_image %}![galaxy TRS workflow search field, name:vgp is entered in the search bar, and five different workflows all labelled VGP are listed]({% link topics/assembly/images/vgp_assembly/workflow_list.png %}){% endunless %}
   3. {% if include.workflow_name %}Expand the workflow named `{{ include.workflow_name }}`
      {% else %}Expand the correct workflow{% endif %} by clicking on it
   4. Select the version you would like to {% icon galaxy-upload %} import

The workflow will be imported to your list of workflows. Note that it will also carry a little blue-white shield icon next to its name, which indicates that this is an original workflow version imported from a TRS server. If you ever modify the workflow with Galaxy's workflow editor, it will lose this indicator.

{% unless include.disable_video %}
Below is a short video showing the entire uncomplicated procedure:

{% include _includes/youtube.html id="hoP36Te5wko" title="Importing via search from WorkflowHub" %}
{% endunless %}


category: galaxy
filename: analysis_troubleshooting
title: Troubleshooting errors
area: analysis
box_type: tip
content_hash: 329771d9f522541160c8a2af58853c87
last_modified: 2026-02-26T21:12:13.700176
contributors_json: ["shiltemann"]
content:
When something goes wrong in Galaxy, there are a number of things you can do to find out what it was. Error messages can help you figure out whether it was a problem with one of the settings of the tool, or with the input data, or maybe there is a bug in the tool itself and the problem should be reported. Below are the steps you can follow to troubleshoot your Galaxy errors.

1. **Expand** the red history dataset by clicking on it.
   - Sometimes you can already see an error message here


2. **View the error message** by clicking on the **bug icon** {% icon galaxy-bug %}


3. **Check the logs.** Output (stdout) and error logs (stderr) of the tool are available:
   - Expand the history item
   - Click on the {% icon details %} icon
   - Scroll down to the **Job Information** section to view the 2 logs:
     - Tool Standard Output
     - Tool Standard Error
   - For more information about specific tool errors, please see the [Troubleshooting section]({% link faqs/galaxy/index.md %}#troubleshooting)


4. **Submit a bug report!** If you are still unsure what the problem is.
   - Click on the bug icon {% icon galaxy-bug %}
   - Write down any information you think might help solve the problem
     - See [this FAQ]({% link faqs/galaxy/analysis_troubleshooting_reporting.md %}) on how to write good bug reports
   - Click **{% icon galaxy-bug %} Report** button

5. **Ask for help!**
   - Where?
     {% if include.sc %}- In the [User community chatspace in Slack]({{site.slack.invite_link}}) in our [#single-cell-users]({{site.slack.single_cell_channel}}) channel
     {% endif %}- In the [GTN Matrix Channel](https://gitter.im/Galaxy-Training-Network/Lobby)
     - In the [Galaxy Matrix Channel](https://gitter.im/galaxyproject/Lobby)
     - Browse the [Galaxy Help Forum](https://help.galaxyproject.org/) to see if others have encountered the same problem before (or post your question).
   - When asking for help, it is useful to [share a link to your history]({% link faqs/galaxy/histories_sharing.md %})


category: galaxy
filename: workflows_run
title: Running a workflow
area: workflows
box_type: tip
content_hash: a9df0f7ef21e53fb7d3bdf07fb6bc5f7
last_modified: 2026-02-26T21:12:13.725069
contributors_json: ["shiltemann", "hexylena", "wm75", "Marie59", "katherine-d21", "bebatut"]
content:
1. Click on **Workflows** on the vertical panel on the left of the **Galaxy action list**.
2. At the top of the resulting page you will have the option to switch between the *My workflows*, *Workflows shared with me* and *Public workflows* tabs.
3. {% if include.tab %}Select the tab `{{ include.tab }}`{% else %}Select the tab you want to see all workflows in that category{% endif %}
4. {% if include.name %}Search workflows `{{ include.name }}`{% else %}Search for your desired workflow{% endif %}.

    ![Select workflow]({% link topics/climate/images/bgc_calib/bgc_workflow.png %}){:width="15%"}

5. Click on the workflow name: a pop-up window opens with a preview of the workflow.
6. To run it directly: click **Run** (top-right).
7. **Recommended**: click **Import** (left of Run) to make your own local copy under *Workflows / My Workflows*.


category: galaxy
filename: analysis_troubleshooting_reporting
title: What information should I include when reporting a problem?
area: troubleshooting
box_type: tip
content_hash: 66f0df8531c22735289ceb6189dbeeaf
last_modified: 2026-02-26T21:12:13.700269
contributors_json: ["hexylena"]
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**

1. Which commands did you run, precisely, we want details. Which flags did you set?
2. Which server(s) did you run those commands on?
3. What account/username did you use?
4. Where did it go wrong?
5. What were the stdout/stderr of the tool that failed? Include the text.
6. Did you try any workarounds? What results did those produce?
7. (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?
8. 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?
{: .quote}


category: galaxy
filename: collections_force_mapping_over
title: Force a tool to process collection jobs one by one instead of using the collection as input
area: collections
box_type: tip
content_hash: 643c260dc18bd276bee4322dec887e0d
last_modified: 2026-02-26T21:12:13.701138
contributors_json: ["paulzierep", "Smkingsize", "scottcain"]
content:
## To map over or not to map over

Galaxy tools can either **use a collection as a single input** or **map over** a collection to process each element individually.
Whether a collection is consumed as a whole or mapped over depends entirely on **how the tool is designed**.
For example, {% tool [fastp](toolshed.g2.bx.psu.edu/repos/iuc/fastp/fastp/1.0.1+galaxy3) %} processes each FASTQ file individually. When you supply a collection to fastp, Galaxy indicates that:
`The supplied input will be mapped over this tool.`

![Screenshot showing fastp mapping over.]({% link faqs/galaxy/images/fastp_mapping_over_collection.png %})

Other tools can process an entire collection at once. For example {% tool [collection_column_join](toolshed.g2.bx.psu.edu/repos/iuc/collection_column_join/collection_column_join/0.0.3) %} operates on all files in the collection together.

![Screenshot showing column join without mapping over.]({% link faqs/galaxy/images/column_join_no_mapping_over.png %})


## The catch

Some tools *allow* a collection as a single input, but you may want them to process **each element one-by-one** instead.
A common example is {% tool [metaspades](toolshed.g2.bx.psu.edu/repos/nml/metaspades/metaspades/4.2.0+galaxy0) %}:
If you supply a collection of FASTA files, the tool will treat them as a single dataset and perform **co-assembly**, which is its default behavior.
However, in many workflows you want to assemble each sample **individually**, not all together.

Because the tool form does not offer an option to switch this behavior, you can **force mapping-over** by creating a **nested list**.


## Solution - Create a nested collection

Convert your original collection into a **collection of collections** (`list:list:`).
This forces any tool - including ones that normally process the whole collection - to run on **each subcollection individually**.

### Solution for Galaxy Server with Version > 25.1: Create a nested collection using Nest collection (where available)

Use the {% tool [Nest collection](__NEST__) %}  tool to convert your original collection into a **collection of collections**.

### Solution for Galaxy Server with Version < 25.1 or if nest collection isn't available: Create a nested collection using APPLY_RULES

Use the {% tool [Apply rules](__APPLY_RULES__) %}  tool to convert your original collection into a **collection of collections**.

1. Open {% tool [Apply rules](__APPLY_RULES__) %}
2. Select your collection
3. Click **Edit**

Adding another nesting level to create `list:list` requires a few changes:

1. From **Column** menu select `Basename of Path of URL`
   - From Column A
   - Click **Apply**
   This creates a new Column B with the same list identifier as Column A.
2. From **Rules** menu select `Add / Modify Column Definitions`
   - Click `Add Definition` button and select `List Identifier(s)`
     - *"Select a column"*: `A`
     - *"... Assign Another Column"*: `B`
   - Click Apply
3. Click **Save**
4. Click **Run Tool**

The rule logic in a workflow editor to follow for paired reads in the Apply rules tool looks like this:

![Screenshot showing logic to create the new collection.]({% link faqs/galaxy/images/nested_collection_for_mapping_over.png %})


category: galaxy
filename: features_scratchbook
title: Using the Window Manager to view multiple datasets
area: features
box_type: tip
content_hash: 548e9611c048d0cadf4e7df4365c9be3
last_modified: 2026-02-26T21:12:13.705471
contributors_json: ["shiltemann", "hexylena"]
content:
If you would like to view two or more datasets at once, you can use the **Window Manager** feature in Galaxy:
  1. **Click** on the *Window Manager* icon {% icon galaxy-scratchbook%} on the top menu bar.
     - You should see a little checkmark on the icon now
  2. **View** {% icon galaxy-eye %} a dataset by clicking on the eye icon {% icon galaxy-eye %} to view the output
     - You should see the output in a window overlayed over Galaxy
     - You can resize this window by dragging the bottom-right corner
  3. **View** {% icon galaxy-eye %} a second dataset from your history
     - You should now see a second window with the new dataset
     - This makes it easier to compare the two outputs
  4. Repeat this for as many files as you would like to compare
  5. You can turn off the **Window Manager** {% icon galaxy-scratchbook %} by clicking on the icon again


category: galaxy
filename: reports_collapsible_box
title: Making an element collapsible in a report
area: reports
box_type: tip
content_hash: 7292598a38bc94c63621cd9baca56133
last_modified: 2026-02-26T21:12:13.720648
contributors_json: ["hexylena", "guerler"]
content:
This applies to any GalaxyMarkdown elements, i.e. the things you've clicked in the left panel to embed in your Workflow Report or Page

By adding a `collapse=""` attribute to a markdown element, you can make it collapsible. Whatever you put in the quotes will be the title of the collapsible box.

````markdown
```
history_dataset_type(history_dataset_id=3108c91feeb505da, collapse="[TITLE]")
```
````


category: galaxy
filename: datasets_download_using_command_line
title: Downloading datasets using command line
area: datasets
box_type: tip
content_hash: b6042f33d357259ae173b1ee4421395e
last_modified: 2026-02-26T21:12:13.702488
contributors_json: ["jennaj", "beachyesh"]
content:
From the terminal window on your computer, you can use **wget** or **curl**.

1. Make sure you have **wget** or **curl** installed.  
2. Click on the Dataset name, then click on the copy link icon {% icon galaxy-link %}. This is the direct-downloadable dataset link. 
3. Once you have the link, use any of the following commands:   
   - For **wget**
   >**``wget '<link>'``   
   > `` wget -O '<link>'``  
   > ``wget -O --no-check-certificate '<link>'  # ignore SSL certificate warnings``   
   > ``wget -c '<link>' # continue an interrupted download``**   
   - For **curl**
   > **``curl -o outfile '<link>' ``  
   > ``curl -o outfile --insecure '<link>'     # ignore SSL certificate warnings``  
   > ``curl -C - -o outfile '<link>'           # continue an interrupted download``**
4. For dataset collections and datasets within collections you have to supply your [API key]({% link faqs/galaxy/preferences_admin_api_key.md %}) with the request
   - Sample commands for **wget** and **curl** respectively are:
   > 
   > **``wget https://usegalaxy.org/api/dataset_collections/d20ad3e1ccd4595de/download?key=MYSECRETAPIKEY``**
   > 
   >**``curl -o myfile.txt https://usegalaxy.org/api/dataset_collections/d20ad3e1ccd4595de/download?key=MYSECRETAPIKEY``**


category: galaxy
filename: tools_similar
title: Multipile similar tools available
area: tools
box_type: tip
content_hash: 1612f1391a2b5111cbd5f38a1d45f496
last_modified: 2026-02-26T21:12:13.722221
contributors_json: ["shiltemann"]
content:
Sometimes there are multiple tools with very similar names. If the parameters in the tutorial don't match with what you see in Galaxy, please try the following:

1. Use **Tutorial Mode** {% icon curriculum %} in Galaxy, and click on the blue tool button in the tutorial to automatically open the correct tool and version (not available for all tutorials yet)

   {% snippet faqs/galaxy/tutorial_mode.md %}

2. Check that the **entire tool name** matches what you see in the tutorial.
   {% if include.toolname %} Please check that:
   - **Full tool name**: `{{ include.toolname }}`
   {% endif %}
   {% if include.toolversion %}
   - **Tool version**: `{{include.toolversion}}` (written after the tool name)
   {% endif %}


category: galaxy
filename: dataupload_NCBI_SRA_sourced_fastq_data
title: NCBI SRA sourced fastq data
area: data upload
box_type: tip
content_hash: e9e208356e59bdf379b3688e750718ed
last_modified: 2026-02-26T21:12:13.705299
contributors_json: ["jennaj", "Melkeb"]
content:
In these FASTQ data:

- The quality score identifier (+) is sometimes not a match for the sequence identifier (@).
- The forward and reverse reads may be interlaced and need to be separated into distinct datasets.
- Both may be present in a dataset. Correct the first, then the second, as explained below.
- Format problems of any kind can cause tool failures and/or unexpected results.
- Fix the problems before running any other tools (including **FastQC**, **Fastq Groomer**, or other QA tools)

**For inconsistent sequence (@) and quality (+) identifiers**

- Correct the format by running the tool **Replace Text in entire line** with these options:

  - Find pattern: `^\+SRR.+`
  - Replace with: `+`

Note: If the quality score line is named like "+ERR" instead (or other valid options), modify the pattern search to match.

**For interlaced forward and reverse reads**

**Solution 1 (reads named /1 and /2)**

- Use the tool **FASTQ de-interlacer on paired end reads**

**Solution 2 (reads named /1 and /2)**

- Create distinct datasets from an interlaced fastq dataset by running the tool **Manipulate FASTQ reads on various attributes** on the original dataset. It will run twice.

Note: The solution does NOT use the **FASTQ Splitter** tool. The data to be manipulated are interlaced sequences. This is different in format from data that are joined into a single sequence.

- Use the Manipulate FASTQ settings to produce a dataset that contains the `/1` reads**

  *Match Reads*

    - Match Reads by `Name/Identifier`
    - Identifier Match Type `Regular Expression`
    - Match by `.+/2`

  *Manipulate Reads*

    - Manipulate Reads by `Miscellaneous Actions`
    - Miscellaneous Manipulation Type `Remove Read`

- Use these Manipulate FASTQ settings to produce a dataset that contains the `/2` reads**

  - Exact same settings as above except for this change: Match by `.+/1`

**Solution 3 (reads named /1 and /3)**

- Use the same operations as in Solution 2 above, except change the first **Manipulate FASTQ** query term to be:
- Match by `.+/3`

**Solution 4 (reads named without /N)**

- If your data has differently formatted sequence identifiers, the "Match by" expression from *Solution 2* above can be modified to suit your identifiers.

Alternative identifiers such as:

```
@M00946:180:000000000-ANFB2:1:1107:14919:14410 1:N:0:1
@M00946:180:000000000-ANFB2:1:1107:14919:14410 2:N:0:1
```


category: galaxy
filename: datasets_unhidden
title: How to un-hide datasets?
area: datasets
box_type: tip
content_hash: bd0b5f4ef87d240d6150b4a295c69736
last_modified: 2026-02-26T21:12:13.703745
contributors_json: ["nekrut"]
content:
If your history contains hidden datasets you will see {% icon galaxy-show-hidden %} **"Include hidden"** button directly above the dataset display.

To un-hide datasets:

- Type `visible:hidden` in the search box
- Select datasets you want to un-hide
- Click the dropdown that would appear at the top of the history;
- Select **"Unhide"** option.

![An animated gif showing how to unhide datasets]({% link shared/images/datasets_unhide.gif %})

Alternatively, you can:

- click {% icon galaxy-show-hidden %} **"Include hidden"** button directly above dataset display. This will cause hidden datasets to appear in history along with normal (un-hidden) datasets;
- hidden datasets are distinguished by having {% icon galaxy-show-hidden %} within dataset box. Clicking on this icon will un-hide a given dataset;


category: galaxy
filename: analysis_results_may_vary
title: Results may vary
area: analysis
box_type: comment
content_hash: 55af48372a386908c9da1899e6324e94
last_modified: 2026-02-26T21:12:13.700091
contributors_json: ["shiltemann", "annefou"]
content:
Your results may be slightly different from the ones presented in this tutorial due to differing versions of tools, reference data, external databases, or because of stochastic processes in the algorithms.


category: galaxy
filename: interactive_tools_jupyter_launch
title: Launch JupyterLab
area: interactive tools
box_type: hands_on
content_hash: e86cec9bc5e3e9330d6626e495a7c9da
last_modified: 2026-02-26T21:12:13.719060
contributors_json: ["annefou", "shiltemann", "nomadscientist"]
content:
> <tip-title>Launch JupyterLab in Galaxy</tip-title>
> Currently JupyterLab in Galaxy is available on [Live.useGalaxy.eu](https://live.usegalaxy.eu), [usegalaxy.org](https://usegalaxy.org) and [usegalaxy.eu](https://usegalaxy.eu).
>
> > <hands-on-title>Run JupyterLab</hands-on-title>
> >
> > 1. {% tool [Interactive Jupyter Notebook](interactive_tool_jupyter_notebook) %}. Note that on some Galaxies this is called {% tool [Interactive JupyTool and notebook](interactive_tool_jupyter_notebook) %}:
> > 2. Click Run Tool
> > 3. The tool will start running and will stay running permanently
> >
> >     This may take a moment, but once the `Executed notebook` in your history is **orange**, you are up and running!
> >
> > 4. On the left menu bar you should see the **Interactive Tools** Icon now. Click on it to open the  **Active Interactive Tools** and locate the JupyterLab instance you started.
> > 5. Click on your JupyterLab instance (**JupyTool interactive tool**)
> >
> {: .hands_on}
{: .tip}

> <tip-title>Launch Try JupyterLab if not available on Galaxy</tip-title>
>
> If JupyterLab is not available on the Galaxy instance:
> 1. Start [Try JupyterLab](https://mybinder.org/v2/gh/jupyterlab/jupyterlab-demo/try.jupyter.org?urlpath=lab)
{: .tip}


category: galaxy
filename: histories_import
title: Importing a history
area: histories
box_type: tip
content_hash: 94df5d5c68e6f0e29363a521da3d9309
last_modified: 2026-02-26T21:12:13.706417
contributors_json: ["bebatut"]
content:
1. Open the link to the shared history
2. Click on the *Import this history* button on the top left
3. Enter a title for the new history
4. Click on **Copy History**


category: galaxy
filename: datasets_add_tag
title: Adding a tag
area: datasets
box_type: tip
content_hash: 663f31216a66b2b0ddfb96f06436c8c0
last_modified: 2026-02-26T21:12:13.701642
contributors_json: ["bebatut", "wm75", "hexylena", "shiltemann", "nekrut"]
content:
Datasets can be tagged. This simplifies the tracking of datasets across the Galaxy interface. Tags can contain any combination of letters or numbers but cannot contain spaces. 

**To tag a dataset**:
 
1. Click on the dataset to expand it
2. Click on **Add Tags** {% icon galaxy-tags %}
3. Add {% if include.tag %} a tag named `{{include.tag}}`{% else %} tag text{% endif %}. Tags starting with `#` will be automatically propagated to the outputs of tools using this dataset (see below).
4. Press <kbd>Enter</kbd>
5. Check that the tag appears below the dataset name

**Tags beginning with `#` are special!**

They are called **Name tags**. The unique feature of these tags is that they *propagate*: if a dataset is labelled with a name tag, all derivatives (children) of this dataset will automatically inherit this tag (see below).
The figure below explains why this is so useful. Consider the following analysis (numbers in parenthesis correspond to dataset numbers in the figure below): 

1. a set of forward and reverse reads (datasets 1 and 2) is mapped against a reference using {% tool Bowtie2 %} generating dataset 3;
1. dataset 3 is used to calculate read coverage using {% tool BedTools Genome Coverage %} *separately* for `+` and `-` strands. This generates two datasets (4 and 5 for plus and minus, respectively);
1. datasets 4 and 5 are used as inputs to {% tool Macs2 broadCall %} datasets generating datasets 6 and 8;
1. datasets 6 and 8 are intersected with coordinates of genes (dataset 9) using {% tool BedTools Intersect %} generating datasets 10 and 11.

![A history without name tags versus history with name tags]({% link shared/images/histories_why_nametags.svg %})

Now consider that this analysis is done without name tags. This is shown on the left side of the figure. It is hard to trace which datasets contain "plus" data versus "minus" data. For example, does dataset 10 contain "plus" data or "minus" data? Probably "minus" but are you sure? In the case of a small history like the one shown here, it is possible to trace this manually but as the size of a history grows it will become very challenging.

The right side of the figure shows exactly the same analysis, but using name tags. When the analysis was conducted datasets 4 and 5 were tagged with `#plus` and `#minus`, respectively. When they were used as inputs to Macs2 resulting datasets 6 and 8 automatically inherited them and so on... As a result it is straightforward to trace both branches (plus and minus) of this analysis. 

More information is in a [dedicated #nametag tutorial]({% link topics/galaxy-interface/tutorials/name-tags/tutorial.md %}).


<!-- Image is here = https://docs.google.com/drawings/d/1iiNsau6ddiE2MV9qMyekUq2mrpDHHcc02bXtcFEAnhY/edit?usp=sharing -->


category: galaxy
filename: datasets_convert_datatype
title: Converting the file format
area: datasets
box_type: tip
content_hash: c6eba8244f33a9b280aec93f671b28fc
last_modified: 2026-02-26T21:12:13.701979
contributors_json: ["shiltemann", "hexylena", "lldelisle", "scottcain"]
content:
* Click on the {% icon galaxy-pencil %} pencil icon for the dataset to edit its attributes.
* In the central panel, click {% icon galaxy-chart-select-data %} Datatypes tab on the top.
* In the {% icon galaxy-gear %} Convert to Datatype section, select {% if include.conversion %}`{{ include.conversion }}`{% else %} your desired datatype {% endif %} from "Target datatype" dropdown.
* Click the **Create Dataset** button to start the conversion.


category: galaxy
filename: histories_download_histories
title: Downloading histories
area: histories
box_type: tip
content_hash: 386a11569faa1731e97f199da26698fb
last_modified: 2026-02-26T21:12:13.706149
contributors_json: ["jennaj", "Melkeb"]
content:
1. Click on the gear icon {% icon galaxy-gear %} on the top of the history panel.
2. Select "Export History to File" from the History menu.
3. Click on the "Click here to generate a new archive for this history" text.
4. Wait for the Galaxy server to prepare history for download.
5. Click on the generated link to download the history.


category: galaxy
filename: analysis_getting_help
title: How can I do analysis X? - Getting help
area: analysis
box_type: tip
content_hash: bdf1c651dc8f908c778debd28f7c1443
last_modified: 2026-02-26T21:12:13.699660
contributors_json: ["shiltemann"]
content:
If you don't know how to perform a certain analysis, you can ask the Galaxy community for help.

#### Where to ask

The best places to ask your analysis questions are:

- [Galaxy Help forum](https://help.galaxyproject.org)
- [GTN Matrix chat](https://matrix.to/#/#Galaxy-Training-Network_Lobby:gitter.im)

**Note:** For questions about errors you've encountered in Galaxy, please see our [troubleshooting page]({% link faqs/galaxy/analysis_troubleshooting.md %}).


#### How to ask

The more detail you provide, the better we can help you. Please provide information about:
- **Your data and experiment** e.g. "paired-end RNASeq, mouse, 16 triplicates, 2 timepoints", etc
- **Your goal and research question** e.g. "I want to detect diffentially expressed genes between these two groups and generate a volcano plot"
- **What you have already tried?** Do you already know which tools you want to use? Did you already try some but they didn't work? Why not? Did you find good papers describing something similiar to what you want to do? etc.
- **Which Galaxy are you using?** And if you have already tried some steps, please [share your Galaxy history via URL]({%link faqs/galaxy/histories_sharing.md %}) and provide this along with your question.
- **Examples**
  - **Bad Question:** *"Help!!! How to perform metagenomics analysis. I need it urgent!"*
  - **Good Question:** *"Hello everybody, I have 16S rRNA sequencing data from Illumina, it was paired-end with 150bp reads. I want to perform a taxonomy analysis similar to this paper (provide link). I have followed this GTN tutorial (provide link), but my data is different because (reason) . How can I adapt this step of the analysis for my data? I read about a tool called X, but I cannot find it in Galaxy. I am using Galaxy EU, and here is a link to my history. Any help would be greatly appreciated!"*


#### Before you ask
- Check the [Galaxy Help forum](https://help.galaxyproject.org/) to see if others have already asked a similar question before.
- [Search]({% link search2.html %}) the [GTN website](https://training.galaxyproject.org) for a tutorial that matches what you want to do, and work your way through that. Even if it doesn't doe exactly what you need, you usually learn a lot along the way that will help you adapt it to your own data or research question.

#### Be patient
Please remember that most of the people answering questions on Matrix chat and the help forum are **volunteers** from the community. They take time out of their busy days to help you. They may also be in a different time zone, so it may take some time to get answers. Please always be patient and kind to each other, and adhere to our [code of conduct](https://galaxyproject.org/community/coc/).


category: galaxy
filename: user_preferences_forgot_password
title: Forgot Password
area: user preferences
box_type: tip
content_hash: 58d9d8651e6c513e08fc5753ea3e628f
last_modified: 2026-02-26T21:12:13.723124
contributors_json: ["jennaj", "Melkeb"]
content:
1. Go to the Galaxy server you are using.
2. Click on **Login or Register**.
3. Enter your email on the Public Name or Email Address entry box.
4. Click on the link under the password entry box titled **Forgot password? Click here to reset your password.**
5. An email will be sent with a password reset link. This email may be in your email Spam or Trash folders, depending on your filters.
5. Click on the reset link in the email or copy and paste it into a web browser window.
6. Enter your new password and click on **Save new password**.


category: galaxy
filename: reference_genomes_custom_genomes
title: How to use Custom Reference Genomes?
area: reference genomes
box_type: tip
content_hash: 905e9aa8a773bbc5eac312e7fc586c5a
last_modified: 2026-02-26T21:12:13.720198
contributors_json: ["jennaj", "Nurzhamalyrys"]
content:
A **reference genome** contains the nucleotide sequence of the chromosomes, scaffolds, transcripts, or contigs for single species. It is representative of a specific genome assembly build or release.

 
There are two options for reference genomes in Galaxy.
* **Native**
   * Index provided by the server administrators.
   * Found on tool forms in a drop down menu.
   * A database key is automatically assigned. See tip 1.
   * The database is what links your data to a FASTA index. Example: used with BAM data
* **Custom** 
   * FASTA file uploaded by users. 
   * Input on tool forms then indexed at runtime by the tool.
   * An optional custom database key can be created and [assigned by the user]({% link faqs/galaxy/datasets_change_dbkey.md %}).

There are five basic steps to use a **Custom Reference Genome**, plus one optional.
1. Obtain a FASTA copy of the target genome. See tip 2.
2. Upload the genome to Galaxy and to add it as a dataset in your history.
3. [Clean up the format]({% link faqs/galaxy/datasets_working_with_fasta.md %}) with the tool **NormalizeFasta** using the options to wrap sequence lines at 80 bases and to trim the title line at the first whitespace.
4. Make sure the [chromosome identifiers]({% link faqs/galaxy/datasets_chromosome_identifiers.md %}) are a match for other inputs.
5. Set a tool form's options to use a custom reference genome from the history and select the loaded genome FASTA.
6. (Optional) Create a [custom genome build's database]({% link faqs/galaxy/analysis_add_custom_build.md %}) that you can [assign to datasets]({% link faqs/galaxy/datasets_change_dbkey.md %}).

{% icon tip %} TIP 1: Avoid [assigning a native database]({% link faqs/galaxy/datasets_change_dbkey.md %}) to uploaded data unless you confirmed the data are based on the [same exact genome assembly]({% link faqs/galaxy/datasets_chromosome_identifiers.md %}) or you [adjusted the data to be a match]({% link topics/introduction/tutorials/data-manipulation-olympics/tutorial.html %}) **first**!

{% icon tip %} TIP 2: When choosing your reference genome, consider [choosing your reference annotation]({% link faqs/galaxy/analysis_differential_expression_help.md %}) at the same time. Standardize the format of both as a preparation step. Put the files in a dedicated "reference data" history for easy reuse.


category: galaxy
filename: datasets_quotas_for_datasets_and_histories
title: Quotas for datasets and histories
area: datasets
box_type: tip
content_hash: 0d6c53d000fbdb8c548d124ac9bb9dcf
last_modified: 2026-02-26T21:12:13.703501
contributors_json: ["jennaj", "garimavs"]
content:
- _Deleted datasets_ and _deleted histories_ containing datasets **are considered when calculating quotas**.
- _Permanently deleted datasets_ and _permanently deleted histories_ containing datasets **are not considered**.
- _Histories/datasets that are shared with you_ are only **partially considered** unless you import them.

**Note:** To reduce quota usage, refer to [How can I reduce quota usage while still retaining prior work (data, tools, methods)?]({% link faqs/galaxy/account_reduce_quota_usage.md %}) FAQ.


category: galaxy
filename: histories_rename
title: Renaming a history
area: histories
box_type: tip
content_hash: 4482c4c9b64be3b1a62d292cf452676f
last_modified: 2026-02-26T21:12:13.706674
contributors_json: ["bebatut", "wm75", "shiltemann", "hexylena", "nekrut"]
content:
1. Click on {% icon galaxy-pencil %} (**Edit**) next to the history name (which by default is "Unnamed history")
2. Type the new name{% if include.name %}: `{{ include.name }}`{% endif %}
3. Click on **Save**
4. To cancel renaming, click the {% icon galaxy-undo %} "Cancel" button

If you do not have the {% icon galaxy-pencil %} (**Edit**) next to the history name (which can be the case if you are using an older version of Galaxy) do the following:

1. Click on **Unnamed history** (or the current name of the history) (**Click to rename history**) at the top of your history panel
2. Type the new name{% if include.name %}: `{{ include.name }}`{% endif %}
3. Press <kbd>Enter</kbd>


category: galaxy
filename: workflows_run_wfh
title: Importing and Launching a WorkflowHub.eu Workflow
area: workflows
box_type: hands_on
content_hash: 221c5a21c8673ee87e166c3280d06e11
last_modified: 2026-02-26T21:12:13.725355
contributors_json: ["hexylena", "wm75"]
content:
<!-- GTN:IGNORE:011 _blank is used here due to iframeing sites that (can) set x-frame-options. The contexts in which _blank is set are only visible when iframe'd -->

{% if include.wfhub_id %}
{% capture external_page %}https://workflowhub.eu/workflows/{{ include.wfhub_id }}?version={{ include.version }}{% endcapture %}

<div class="show-when-galaxy-proxy-active">

<span class="workflow" data-workflow="https://workflowhub.eu/ga4gh/trs/v2/tools/{{ include.wfhub_id }}/versions/{{ include.version }}">
  Launch <strong>{{ include.title }} (v{{ include.version }})</strong> <i class="fas fa-share-alt" aria-hidden="true"></i>
</span>
(<a target="_blank" href="{{ external_page }}">View on WorkflowHub</a>)

</div>

<div class="hide-when-galaxy-proxy-active">

<a href="https://my.galaxy.training/?path=/workflows/trs_import%3ftrs_server=workflowhub.eu%26run_form=true%26trs_id={{ include.wfhub_id }}%26trs_version={{ include.version }}">
  Launch <strong>{{ include.title }} (v{{ include.version }})</strong> <i class="fas fa-share-alt" aria-hidden="true"></i>
</a>
(<a href="{{ external_page }}">View on WorkflowHub</a>)

</div>

{% capture filter %}name:"{{ include.title }}"{% endcapture %}
{% snippet faqs/galaxy/workflows_import_search.md override_title="If this does not work" trs_server="workflowhub.eu" search_query=filter %}

{% else %}

1. Go to {% icon galaxy-workflows-activity %} [Workflows → Import](https://my.galaxy.training/?path=/workflows/import) in your Galaxy
2. Switch tabs to TRS ID
3. Ensure the *"TRS server"* is set to "workflowhub.eu"
4. Provide your your *"TRS ID"* (WorkflowHub's numerical identifier of your workflow that appears in the link to its WorkflowHub page)
5. Select the workflow version you want to import

{% endif %}


category: galaxy
filename: troubleshooting_input_problem
title: Understanding input error messages
area: troubleshooting
box_type: tip
content_hash: a81c8dab81a443cdf41ca0bbeb45c365
last_modified: 2026-02-26T21:12:13.722670
contributors_json: ["jennaj", "garimavs"]
content:
Input problems are very common across any analysis that makes use of programmed tools.

- Causes:
    - No quality assurance or content/formatting checks were run on the first datasets of an analysis workflow.
    - Incomplete dataset Upload.
    - Incorrect or unassigned [datatype]({% link faqs/galaxy/index.md %}#datasets) or [database]({% link faqs/galaxy/datasets_change_dbkey.md %}).
    - Tool-specific formatting requirements for inputs were not met.
    - Parameters set on a tool form are a mismatch for the input data content or format.
    - Inputs were in an error state (red) or were putatively successful (green) but are empty.
    - Inputs do not meet the datatype specification.
    - Inputs do not contain the exact content that a tool is expecting or that was input in the form.
    - Annotation files are a mismatch for the selected or assigned reference genome build.
    - **Special case:** Some of the data were generated outside of Galaxy, but later a built-in indexed genome build was assigned in Galaxy for use with downstream tools. This scenario can work, but only if those two reference genomes are an exact match.

- Solutions:
    - Review our [Troubleshooting Tips]({% link faqs/galaxy/analysis_troubleshooting.md %}) for what and where to check.
    - Review the [GTN](https://training.galaxyproject.org/) for related tutorials on tools/analysis plus FAQs.
    - Review [Galaxy Help](https://help.galaxyproject.org/) for prior discussion with extended solutions.
    - Review [datatype FAQs]({% link faqs/galaxy/datatypes_understanding_datatypes.md %}).
    - Review the tool form.
        - Input selection areas include usage help.
        - The help section at the bottom of a tool form often has examples. Does your own data match the format/content?
        - See the links to publications and related resources.
    - Review the inputs.
        - All inputs must be in a success state (green) and actually contain content.
        - Did you [directly assign the datatype]({% link faqs/galaxy/datasets_change_datatype.md %}) or [convert the datatype]({% link faqs/galaxy/datasets_convert_datatype.md %})? What results when the [datatype is detected]({% link faqs/galaxy/datasets_detect_datatype.md %}) by Galaxy? If these differ, there is likely a content problem.
        - For most analysis, allowing Galaxy to detect the datatype during Upload is best and adjusting a datatype later should rarely be needed. If a datatype is modified, the change has a specific purpose/reason.
        - Does your data have headers? Is that in specification for the datatype? Does the tool form have an option to specify if the input has headers or not? Do you need to remove headers first for the correct datatype to be detected? Example [GTF]({% link faqs/galaxy/datasets_working_with_reference_annotation.md %}).
        - Large inputs? Consider modifying your inputs to be smaller. Examples: [FASTQ]({% link faqs/galaxy/datasets_working_with_fastq.md %}) and [FASTA]({% link faqs/galaxy/datasets_working_with_fasta.md %}).
    - Run quality checks on your data.
        - Search [GTN](https://training.galaxyproject.org/) tutorials with the keyword “qa-qc” for examples.
        - Search [Galaxy Help](https://help.galaxyproject.org/) with the keywords “qa-qc” and your datatype(s) for more help.
    - Reference annotation tips.
        - In most cases, [GTF is preferred over GFF3]({% link faqs/galaxy/datasets_working_with_reference_annotation.md %}).
        - Search [Galaxy Help](https://help.galaxyproject.org/) with the keywords “gtf” and “gff3” for more help.
    - Input mismatch tips.
        - Do the chromosome/sequence identifiers exactly match between all inputs? Search [Galaxy Help](https://help.galaxyproject.org/) for more help about how to correct build/version identifier mismatches between inputs.
        - "Chr1" and "chr1" and "1" do not mean the same thing to a tool.
    - Custom genome transcriptome exome tips. See [FASTA]({% link faqs/galaxy/datasets_working_with_fasta.md %}).


category: galaxy
filename: workflows_publish
title: Make a workflow public
area: workflows
box_type: tip
content_hash: fb1291a27f0d3754255a606ac951ea00
last_modified: 2026-02-26T21:12:13.724802
contributors_json: ["bebatut", "wm75"]
content:
1. Click on {% icon galaxy-workflows-activity %} *Workflows* in the Galaxy activity bar (on the left side of the screen, or in the top menu bar of older Galaxy instances). You will see a list of all your workflows
2. Click on the {% icon history-share %} *Share* button of the workflow you would like to publish
3. Click on **Make Workflow accessible**. This makes the workflow *publicly accessible* but *unlisted*.
4. To also list the workflow for all users on the *Public workflows* tab of the {% icon galaxy-workflows-activity %} *Workflows* page, click **Make Workflow publicly available in Published Workflows**


category: galaxy
filename: bulk_change_datatype
title: Changing the data type of multiple datasets or collections
area: collections
box_type: tip
content_hash: 50345611b23cb8ba4158088b6b1059f4
last_modified: 2026-02-26T21:12:13.700355
contributors_json: ["kostrykin"]
content:
1. Click on {% icon galaxy-selector %} **Select Items** at the top of the history panel ![Select Items button]({% link topics/galaxy-interface/images/historyItemControls.png %})
2. Check {% if include.datasets_description %}{{ include.datasets_description }}{% else %}all the datasets and collections in your history you would like to change the data type for{% endif %}
3. Click **{% if include.n %}{{ include.n }}{% else %}n{% endif %} of N selected** and choose **Change data type** 
4. In the drop-down field, select {% if include.datatype %}`{{ include.datatype }}`{% else %} your desired data type {% endif %}
  - tip: you can start typing the data type into the field to filter the dropdown menu
4. Click the **OK** button


category: galaxy
filename: datasets_download_datasets
title: Downloading datasets
area: datasets
box_type: tip
content_hash: 6d0d7295122523cafca489491c54f2fb
last_modified: 2026-02-26T21:12:13.702406
contributors_json: ["jennaj", "Melkeb"]
content:
1. Click on the dataset in your history to expand it
2. Click on the Download icon {% icon galaxy-save %} to save the dataset to your computer.


category: galaxy
filename: workflows_get_id
title: Get the workflow id
area: workflows
box_type: tip
content_hash: db54eb902496b685eccd18b3c96842f9
last_modified: 2026-02-26T21:12:13.724175
contributors_json: ["simonbray", "wm75", "lecorguille"]
content:
1. Go to the {%icon galaxy-workflows-activity %}workflows panel in Galaxy and find the workflow you've just created.
2. Click on {% icon galaxy-pencil %} Edit or {% icon history-share %} Share
3. The URL in your browser will look something like `https://usegalaxy.eu/workflow/editor?id=34d18f081b73cb15`. Copy the part after `?id=` - this is the workflow ID, in our case: `34d18f081b73cb15`


category: galaxy
filename: sequencing_illumina_miseq
title: Illumina MiSeq sequencing
area: sequencing
box_type: comment
content_hash: e451be1d587c7cdc284979a37bbbd23b
last_modified: 2026-02-26T21:12:13.720938
contributors_json: ["shiltemann"]
content:
Illumina MiSeq sequencing is based on sequencing by synthesis. As the name
suggests, fluorescent labels are measured for every base that bind at a
specific moment at a specific place on a flow cell. These flow cells are
covered with oligos (small single strand DNA strands). In the library
preparation the DNA strands are cut into small DNA fragments (differs per
kit/device) and specific pieces of DNA (adapters) are added, which are
complementary to the oligos. Using bridge amplification large amounts of
clusters of these DNA fragments are made. The reverse string is washed away,
making the clusters single stranded. Fluorescent bases are added one by one,
which emit a specific light for different bases when added. This is happening
for whole clusters, so this light can be detected and this data is basecalled
(translation from light to a nucleotide) to a nucleotide sequence (Read). For
every base a quality score is determined and also saved per read. This
process is repeated for the reverse strand on the same place on the flow
cell, so the forward and reverse reads are from the same DNA strand. The
forward and reversed reads are linked together and should always be processed
together!

For more information watch this [video from Illumina](https://youtu.be/fCd6B5HRaZ8)


category: galaxy
filename: workflows_run_trs
title: Importing and launching a GTN workflow
area: workflows
box_type: hands_on
content_hash: 2a1b006df199610037cdf4f57ff655b3
last_modified: 2026-02-26T21:12:13.725262
contributors_json: ["hexylena"]
content:
{% if include.path %}

<div class="show-when-galaxy-proxy-active">
<span class="workflow" data-workflow="{{ site.url }}{{ site.baseurl }}{{ include.path | convert_workflow_path_to_trs }}">
  Launch <strong>{{ include.title }}</strong> <i class="fas fa-share-alt" aria-hidden="true"></i>
</span>
(<a href="https://github.com/galaxyproject/training-material/blob/main/{{ include.path }}">View on GitHub</a>, <a href="https://training.galaxyproject.org/training-material/{{ include.path }}">Download workflow</a>)
workflow.
</div>

<div class="hide-when-galaxy-proxy-active">

Click to 
<a href="https://my.galaxy.training/?path=/workflows/trs_import%3Frun_form=true%26trs_url={{ site.url }}{{ site.baseurl }}{{ include.path | convert_workflow_path_to_trs }}">
    Launch <strong>{{ include.title }}</strong> {% icon workflow aria=false %}
</a>
(<a href="https://github.com/galaxyproject/training-material/blob/main/{{ include.path }}">View on GitHub</a>, <a href="https://training.galaxyproject.org/training-material/{{ include.path }}">Download workflow</a>)

</div>

{% capture import_url %}https://training.galaxyproject.org/training-material/{{ include.path }}{% endcapture %}
{% snippet faqs/galaxy/workflows_import.md override_title="If this does not work" import_url=import_url %}

{% else %}

1. Find the material you are interested in
2. View its workflows, which can be found in the metadata box at the top of the tutorial
3. Click the button on any workflow to run it.

{% endif %}


category: galaxy
filename: interactive_tools_open
title: Open interactive tool
area: interactive tools
box_type: tip
content_hash: 47f0304e7926c07cda9c60492e7c3547
last_modified: 2026-02-26T21:12:13.719257
contributors_json: ["mgramm1"]
content:
1. Go to User > Active InteractiveTools
2. Wait for the {{ include.tool }} to be running (Job Info)
3. Click on {{ include.tool }}


category: galaxy
filename: datasets_import_from_data_library
title: Importing data from a data library
area: data upload
box_type: tip
content_hash: eb11c90d5259ba1900924dfb354b9973
last_modified: 2026-02-26T21:12:13.702824
contributors_json: ["bebatut", "shiltemann", "nsoranzo", "hexylena", "wm75"]
content:
As an alternative to uploading the data from a URL or your computer, the files may also have been made available from a *shared data library*:

1. Go into **Libraries** (left panel)
2. Navigate to {% if include.path %}: *{{ include.path }}* or {% endif %} the correct folder as indicated by your instructor.
   {% unless include.path %}- On most Galaxies tutorial data will be provided in a folder named **GTN - Material --> Topic Name -> Tutorial Name**. {% endunless %}
3. Select the desired files
4. Click on **Add to History** {% icon galaxy-dropdown %} near the top and select **{{ include.astype | default: "as Datasets" }}** from the dropdown menu
5. In the pop-up window, choose
   {% if include.collection_type %}
   * *"Collection type"*: **{{ include.collection_type }}**
   {% endif %}
   * *"Select history"*: {% if include.tohistory %}{{ include.tohistory }}{% else %}the history you want to import the data to (or create a new one){% endif %}
6. Click on {% if include.collection_type %}**Continue**{% else %}**Import**{% endif %}
{% if include.collection_type %}
7. In the next dialog, give a suitable **Name**{% if include.collection_name %}, like `{{ include.collection_name }}`,{% endif %} to the new collection
8. Click on **Create collection**
{% endif %}


category: galaxy
filename: histories_copy_dataset
title: Copy a dataset between histories
area: histories
box_type: tip
content_hash: 9d25fd22cf225ab8021bbc02410f8faf
last_modified: 2026-02-26T21:12:13.705723
contributors_json: ["lecorguille", "shiltemann", "hexylena", "bebatut", "lldelisle"]
content:
There 3 ways to copy datasets between histories

1. From the original history

    1. Click on the {% icon galaxy-gear %} icon which is on the top of the list of datasets in the history panel
    2. Click on **Copy Datasets**
    3. Select the desired files
    {% if include.history_name %}
    4. "New history named:" `{{ include.history_name }}`
    {% else %}
    4. Give a relevant name to the "New history"
    {% endif %}
    5. Validate by 'Copy History Items'
    5. Click on the new history name in the green box that have just appear to switch to this history

2. Using the {% icon galaxy-columns %} **Show Histories Side-by-Side**

    1. Click on the {% icon galaxy-dropdown %} dropdown arrow top right of the history panel (**History options**)
    2. Click on {% icon galaxy-columns %} **Show Histories Side-by-Side**
    3. If your target history is not present
        1. Click on 'Select histories'
        2. Click on your target history
        3. Validate by 'Change Selected'
    3. Drag the dataset to copy from its original history
    4. Drop it in the target history

3. From the target history

    1. Click on **User** in the top bar
    2. Click on **Datasets**
    3. Search for the dataset to copy
    4. Click on its name
    5. Click on **Copy to current History**


category: galaxy
filename: histories_sharing
title: Sharing your History
area: histories
box_type: tip
content_hash: 664589436503326663346179a245a538
last_modified: 2026-02-26T21:12:13.706922
contributors_json: ["shiltemann", "ahmedhamidawan"]
content:
Sharing your history allows others to import and access the datasets, parameters, and steps of your history.

Access the history sharing menu via the History Options dropdown ({% icon galaxy-history-options %}), and clicking "{% icon history-share %} Share or Publish"

1. **Share via link**
   - Open the **History Options** {% icon galaxy-history-options %} menu at the top of your history panel and select "{% icon history-share %} Share or Publish" 
     - {% icon galaxy-toggle %} **Make History accessible**
     - A **Share Link** will appear that you give to others
   - Anybody who has this link can view and copy your history

2. **Publish your history**
   - {% icon galaxy-toggle %} **Make History publicly available in Published Histories**
   - Anybody on this Galaxy server will see your history listed under the *Published Histories* tab opened via the {% icon galaxy-histories-activity %} **Histories** activity

3. **Share only with another user**.
   - Enter an email address for the user you want to share with in the *Please specify user email* input below **Share History with Individual Users**
   - Your history will be shared only with this user.

4. **Finding histories others have shared with me**
   - Click on the {% icon galaxy-histories-activity %} **Histories** activity in the activity bar on the left
   - Click the **Shared with me** tab
   - Here you will see all the histories others have shared with you directly

**Note:** If you want to make changes to your history without affecting the shared version, make a copy by going to **History Options** {% icon galaxy-history-options %} icon in your history and clicking *Copy this History*


category: galaxy
filename: tools_logs
title: Viewing tool logs (`stdout` and `stderr`)
area: tools
box_type: tip
content_hash: a9a42bbd4f4d830c444ad219ac15f4d7
last_modified: 2026-02-26T21:12:13.721697
contributors_json: ["shiltemann"]
content:
Most tools create log files as output, which can contain useful information about how the tool ran (`stdout`, or *standard output*), and what went wrong (`stderr`, or *standard error*).

To view these log files in Galaxy:
- Expand one of the outputs of the tool in your history
- Click on **View details** {% icon details %}
- Scroll to the **Job Information** section
  - Here you will find links to the log files (`stdout` and `stderr`).


category: galaxy
filename: tools_select_multiple_datasets
title: Select multiple datasets
area: tools
box_type: tip
content_hash: a11b444afc54382cca0e829a3689a461
last_modified: 2026-02-26T21:12:13.722140
contributors_json: ["bebatut", "wm75", "hexylena", "shiltemann"]
content:
1. Click on {% icon param-files %} **Multiple datasets**
2. Select several files by keeping the <kbd>Ctrl</kbd> (or
   <kbd>COMMAND</kbd>) key pressed and clicking on the files of interest


category: galaxy
filename: analysis_concatenate
title: Pick the right Concatenate tool
area: analysis
box_type: tip
content_hash: 7b9698119623d81b60387279e7ebbc73
last_modified: 2026-02-26T21:12:13.699378
contributors_json: ["wm75"]
content:
On most Galaxy servers you will find two {% icon tool %} **Concatenate datasets** tools installed:

1. **Concatenate datasets** tail-to-head
2. **Concatenate datasets** tail-to-head (cat)

{% if include.toolspec %}
{% icon tip %} The tool you want to use at this step is `{{ include.toolspec }}`, but if you are interested in the details, here is why:
{% endif %}

The two tools have nearly identical interfaces, but behave differently in certain situations, specifically:
- The second tool, the one with "(cat)" in its name, simply concatenates everything you give to it into a single output dataset.

  Whether you give it multiple datasets or a collection as the first parameter, or some datasets as the first and some others as the second parameter, it will always concatenate them all.
  In fact, the only reason for having multiple parameters for this tool is that by providing inputs through multiple parameters, you can make sure they are concatenated in the order you pass them in.
- The first tool, on the other hand, will only ever concatenate inputs provided through *different* parameters.

  This tool allows you to specify an arbitrary number of {% icon param-file %} single datasets, but if you also want to use {% icon param-files %} multiple datasets or {% icon param-collection %} a collection for some of the Dataset parameters, then all of these need to be of the same type (multiple datasets *or* collections) and have the same number of inputs.

  Now depending on the inputs, one of the following behaviors will occur:
  - If all the different inputs are {% icon param-file %} single datasets, the tool will concatenate them all and produce a single output dataset.
  - If all the different inputs are specified *either* as {% icon param-files %} multiple datasets *or* as {% icon param-collection %}, and all have the same number of datasets, then the tool will concatenate the first datasets of each input parameter, the second datasets of each input parameter, the third, etc., and produce an output collection with as many elements as there are inputs per Dataset parameter.
  - In extension of the above, if *some* additional inputs are provided as {% icon param-file %} single datasets, the content of these will be recycled and be reused in the concatenation of all the nth elements of the other parameters.


category: galaxy
filename: datasets_working_with_fastq
title: Working with very large fastq datasets
area: datasets
box_type: tip
content_hash: eeb3ea004035507e1e55b1aa3bf7b6be
last_modified: 2026-02-26T21:12:13.704254
contributors_json: ["jennaj", "garimavs"]
content:
- Run **FastQC** on your data to make sure the format/content is what you expect. Run more QA as needed. 
    - Search [GTN](https://training.galaxyproject.org/) tutorials with the keyword “qa-qc” for examples.
    - Search [Galaxy Help](https://help.galaxyproject.org/) with the keywords “qa-qc” and “fastq” for more help.
- How to create a single smaller input. Search the tool panel with the keyword “subsample” for tool choices.
- How to create multiple smaller inputs. Start with **Split file to dataset collection**, then merge the results back together using a tool specific for the datatype. Example: BAM results? Use **MergeSamFiles**.


category: galaxy
filename: analysis_reporting_issues
title: Reporting usage problems, security issues, and bugs
area: analysis
box_type: tip
content_hash: bced3be65ddfd7c9c99b56449668463f
last_modified: 2026-02-26T21:12:13.700009
contributors_json: ["jennaj", "garimavs"]
content:
- For reporting **Usage Problems**, related to tools and functions, head to the [Galaxy Help](https://help.galaxyproject.org/) site.
    - **Red Error Datasets**:
        - Refer to the [Troubleshooting errors]({% link faqs/galaxy/analysis_troubleshooting.md %}) FAQ for red error in datasets.
    - **Unexpected results in Green Success Dataset**:
        - To resolve it you may be asked to send in a shared history link and possibly a shared workflow link. For sharing your history, refer to this [these instructions]({% link faqs/galaxy/histories_sharing.md %}).
        - To reach our support team, visit [Support FAQs]({% link faqs/galaxy/ %}#support).
    - **Functionality problems**:
        - Using [Galaxy Help](https://help.galaxyproject.org/) is the best way to get help in most cases.
        - If the problem is more complex, email a description of the problem and how to reproduce it.
    - **Administrative problems**:
        - If the problem is present in your own Galaxy, the administrative configuration may be a factor.
        - For the fastest help directly from the development community, admin issues can be alternatively reported to the mailing list or the GalaxyProject [Gitter channel](https://gitter.im/galaxyproject/Lobby).

- For **Security Issues**, do not report them via GitHub. Kindly disclose these as explained in this [document](https://github.com/galaxyproject/galaxy/blob/dev/SECURITY.md).
- For **Bug Reporting**, create a Github issue. Include the steps mentioned [in these instructions]({% link faqs/galaxy/analysis_troubleshooting_reporting.md %}).
- Search the [GTN Search](https://training.galaxyproject.org/search) to find prior Q & A, FAQs, tutorials, and other documentation across all Galaxy resources, to verify in case your issue was already faced by someone.


category: galaxy
filename: interactive_tools_rstudio_knit
title: Knitting RMarkdown documents in RStudio
area: interactive tools
box_type: hands_on
content_hash: 1e73c21de867a07ef0cac2afcb84df28
last_modified: 2026-02-26T21:12:13.719350
contributors_json: ["hexylena"]
content:
One of the other nice features of RMarkdown documents is making lovely presentation-quality worthy documents. You can take, for example, a tutorial and produce a nice report like output as HTML, PDF, or `.doc` document that can easily be shared with colleagues or students.

![Screenshot of the metadata with html_notebook and word_document being visible and a number of options controlling their output. TOC, standing for table of contents, has been set to true for both.]({% link topics/data-science/images/rstudio/r-meta-output.png %})

Now you're **ready to preview the document**:

![screenshot of preview dropdown with options like preview, knit to html, knit to pdf, knit to word]({% link topics/data-science/images/rstudio/r-preview.png %})

**Click Preview**. A window will popup with a preview of the rendered verison of this document.

![screenshot of rendered document with the table of contents on left, title is in a large font, and there are coloured boxes similar to GTN tutorials offering tips and more information]({% link topics/data-science/images/rstudio/r-preview.png %})

The preview is really similar to the GTN rendering, no cells have been executed, and no output is embedded yet in the preview document. But if you have run cells (e.g. the first few loading a library and previewing the `msleep` dataset:

![screenshot of the rendered document with a fancy table browser embedded as well as the output of each step]({% link topics/data-science/images/rstudio/r-preview-output.png %})

**When you're ready to distribute** the document, you can instead use the `Knit` button. This runs every cell in the entire document fresh, and then compiles the outputs together with the rendered markdown to produce a nice result file as HTML, PDF, or Word document.

![screenshot of the console with 'chunks' being knitted together]({% link topics/data-science/images/rstudio/r-knit.png %})

> ### {% icon tip %} Tip: PDF + Word require a LaTeX installation
> You might need to install additional packages to compile the PDF and Word document versions
{: .tip}

And at the end you can see a pretty document rendered with all of the output of every step along the way. This is a fantastic way to e.g. distribute read-only lesson materials to students, if you feel they might struggle with using an RMarkdown document, or just want to read the output without *doing* it themselves.

![screenshot of a PDF document showing the end of the tutorial where a pretty plot has been rendered and there is some text for conclusions and citations]({% link topics/data-science/images/rstudio/r-pdf.png %})


category: galaxy
filename: histories_find_purge
title: Find all Histories and purge (aka permanently delete)
area: histories
box_type: tip
content_hash: 3db9edb0bf104f6cf89672f5ec199b74
last_modified: 2026-02-26T21:12:13.706239
contributors_json: ["jennaj", "samanthaanjei", "annefou"]
content:
1. Login to your Galaxy account.
2. On the top navigation bar Click on **User**. 
3. On the drop down menu that appears Click on **Histories**.
4. Click on **Advanced Search**, additional fields will be displayed. 
5. Next to the **Status** field, click **All**, a list of all histories will be displayed.
6. Check the box next to **Name** in the displayed list to select all histories.
7. Click **Delete Permanently** to purge all histories.
8. A pop up dialogue box will appear letting you know history contents will be removed and cannot be undone, then click **OK** to confirm.


category: galaxy
filename: activity_bar_how_to_enable
title: How to enable the Activity Bar
box_type: tip
content_hash: 1ce2b3d9dbd968cd3890ae5956865d7c
last_modified: 2026-02-26T21:12:13.699131
contributors_json: ["nekrut"]
content:
If you do not see the Activity Bar it can be enabled as follows:

1. Click on the "**User**" link at the top of the Galaxy interface
2. Select "**Preferences**"
3. Scroll down and click on "**Manage Activity Bar**"
4. Toggle the "**Enable Activity Bar**" switch and voila!

   ![The four steps described above are shown visually]({% link shared/images/activity_bar_how_to_enable.svg %})

<!-- Original drawing = https://docs.google.com/drawings/d/1yynqEiV66F8idKH5JwTG-4ASuqK62thIwHeCMHRuupg/edit?usp=sharing -->


category: galaxy
filename: workflows_get_invocation_id
title: Get the workflow invocation
area: workflows
box_type: tip
content_hash: 4ce15ee35e8bf9e7fa299e3b875d38f0
last_modified: 2026-02-26T21:12:13.724263
contributors_json: ["bebatut"]
content:
- Go to the workflow invocations page
    - Before Galaxy 24.0: Go to **User** > **Workflow Invocations**
    - In Galaxy 24.0: Go to **Data** > **Workflow Invocations**
    - Above Galaxy 24.1: Go to **Workflow Invocation** in the activity bar on the left

- Open the most recent item
- Find the invocation id:
    - Below 24.0, you can get it here:

        ![The image depicts a user interface from a computational workflow or job management system. At the top left, there is a "View Report" button, which likely allows users to access a detailed report of the job or workflow. The interface features two horizontal progress bars: the first indicates that all 4 steps have been successfully scheduled, and the second shows that all 3 jobs are complete. A "Download BioCompute Object" button is present, presumably for downloading a standardized description of the bioinformatics protocol or workflow. The interface includes collapsible sections labeled "Inputs," "Outputs," and "Steps," which likely contain detailed information about the inputs used, outputs generated, and steps involved in the workflow, respectively. At the top right, an invoice number is displayed: "Invoice: 6e32d21c3708b2b6." This interface is part of a system used for managing and monitoring computational jobs, particularly in bioinformatics or computational biology contexts.]({% link faqs/galaxy/images/workflow-invocation-below-24-0.png %})

    - Above Galaxy 24.1 (activity bar), you can find the workflow invocation id from the URL. For example, `https://usegalaxy.org/workflows/invocations/be5c48c113145dd5` means that the workflow invocation id is `be5c48c113145dd5`.


category: galaxy
filename: histories_dataset_item
title: Dataset snippet
area: histories
box_type: tip
content_hash: ea6fe1711ebcf331cf9204d014ff3d88
last_modified: 2026-02-26T21:12:13.705974
contributors_json: ["nekrut"]
content:
A single Galaxy dataset can either be "collapsed" or "expanded".

**Collapsed dataset view**

Datasets in the panel are initially shown in a "collapsed" view:

![Collapsed view of a single Galaxy dataset]({% link shared/images/history_item_collapsed.png %})

It contains the following elements:

- **Dataset number**: ("1") order of dataset in the history;
- **Dataset name**: ("M117-bl_1.fq.gz") its name;
- {% icon galaxy-eye %}: click this to view the dataset contents;
- {% icon galaxy-pencil %}: click this to edit dataset properties;
- {% icon galaxy-delete %}: click this to delete the dataset from the history (*don't worry*, you can undo this action!).

Clicking on a collapsed dataset will expand it.

> <details-title>Some buttons can be disabled.</details-title>
> Some of the buttons above may be disabled if the dataset is in a state that doesn't allow the
> action. For example, the 'edit' button is disabled for datasets that are still queued or running
>
{: .details}

**Expanded dataset view**

Expanded dataset view adds a preview element and many additional controls. 

![Expanded view of a single Galaxy dataset]({% link shared/images/history_item_expanded.png %})

In addition to the elements described above for the collapsed dataset, its expanded view contains:

- **Add tags** {% icon galaxy-tags %}: click on this to tag this dateset;
- **Dataset size**: ("2 lines, 18 comments") lists the size of the dataset. When datasets are small (like in this example) the exact size is shown. For large datasets, Galaxy gives an approximate estimate.
- **format**: ("VCF") lists the datatype;
- **database**: ("?") lists which genome built this dataset corresponds to. This usually lists "?" unless the genome build is set explicitly or the dataset is derived from another dataset with defined genome build information;
- **info field**: ("INFO [2024-03-26 12:08:53,435]...") displays information provided by the tool that generated this dataset. This varies widely and depends on the type of job that generated this dataset.
- {% icon dataset-save %}: Saves dataset to disk;
- {% icon dataset-link %}: Copies dataset link into clipboard;
- {% icon dataset-info %}: Displays additional details about the dataset in the center pane;
- {% icon dataset-rerun %}: Reruns job that generated this dataset. This button is unavailable for datasets uploaded into history because they were not produced by a Galaxy tool;
- {% icon dataset-visualize %}: Displays visualization options for this dataset. The list of options is dependent on the datatype;
- {% icon dataset-related-datasets %}: Shows datasets related to this dataset. This is useful for tracking down parental datasets - those that were used as inputs into a job that produced this particular dataset.


category: galaxy
filename: datatypes_fastq_and_fastqsanger
title: How do `fastq.gz` datasets relate to the `.fastqsanger` datatype metadata assignment?
area: datatypes
box_type: tip
content_hash: 1bbeab8ccee83b00b0e6271550b29031
last_modified: 2026-02-26T21:12:13.704607
contributors_json: ["jennaj", "Melkeb"]
content:
Before assigning `fastqsanger` or `fastqsanger.gz`, be sure to confirm the format.

**TIP:** 
- Using *non-fastqsanger* scaled quality values will cause scientific problems with tools that expected `fastqsanger` formatted input.
- Even if the tool does not fail, get the format right from the start to avoid problems. Incorrect format is still one of the most common reasons for tool errors or unexpected results (within Galaxy or not).
- For more information on [How to format fastq data for tools that require .fastqsanger format?]({% link faqs/galaxy/datatypes_fastq_format.md %})


category: galaxy
filename: datasets_moving_datasets_between_galaxy_servers
title: Moving datasets between Galaxy servers
area: datasets
box_type: tip
content_hash: 1316d30432605baa22e2302f32c48d06
last_modified: 2026-02-26T21:12:13.703168
contributors_json: ["jennaj", "Melkeb"]
content:
On the origin Galaxy server:
1. Click on the name of the dataset to expand the info.
2. Click on the **Copy link icon** {% icon galaxy-link %}.

On the destination Galaxy server:

3. Click on **Upload data > Paste / Fetch Data** and paste the link. Select attributes, such as genome assembly, if required. Hit the **Start** button.

Note: The copy link icon {% icon galaxy-link %} cannot be used to move HTML datasets (but this can be downloaded using the download button {% icon galaxy-save %}) and SQLite datasets.


category: galaxy
filename: datasets_not_downloading_at_all
title: Datasets not downloading at all
area: datasets
box_type: tip
content_hash: dd9d745ec7de48b6f6ce51dc12576a24
last_modified: 2026-02-26T21:12:13.703334
contributors_json: ["Nurzhamalyrys", "Melkeb", "jennaj"]
content:
1. Check to see if pop-ups are blocked by your web browser. Where to check can vary by browser and extensions.
2. Double check your API key, if used. Go to **User > Preferences > Manage API key.**
3. Check the sharing/permission status of the Datasets. Go to **Dataset > Pencil icon {% icon galaxy-pencil %} > Edit attributes > Permissions.** If you do not see a "Permissions" tab, then you are not the owner of the data.


Notes:
- If the data was shared with you by someone else from a Shared History, or was copied from a Published History, be aware that there are multiple levels of data sharing permissions.
- All data are set to **not shared** by default.
- Datasets sharing permissions for a new history can be set before creating a new history. Go to **User > Preferences > Set Dataset Permissions for New Histories.**
- **User > Preferences > Make all data private is a "one click" option to unshare ALL data (Datasets, Histories).** Note that once confirmed and all data is unshared, the action cannot be "undone" in batch, even by an administrator. You will need to re-share data again and/or reset your global sharing preferences as wanted.
- Only the data owner has control over sharing/permissions.
- Any data you upload or create yourself is automatically owned by you with full access.
- You may not have been granted full access if the data were shared or imported, and someone else is the data owner (your copy could be "view only").
- After you have a fully shared copy of any shared/published data from someone else, then you become the owner of that data copy. If the other person or you make changes, it applies to each person's copy of the data, individually and only.
- Histories can be shared with included Datasets. Datasets can be downloaded/manipulated by others or viewed by others.
- Share access to Datasets is distinct but it relates to Histories' access.


category: galaxy
filename: analysis_add_custom_build
title: Adding a custom database/build (dbkey)
area: analysis
box_type: tip
content_hash: d1bbef4e4d11bdeaca88e58d61fa8a9c
last_modified: 2026-02-26T21:12:13.699296
contributors_json: ["shiltemann"]
content:
- Navigate to the History that contains your fasta for the reference genome
- Standarize the [fasta format]({% link faqs/galaxy/reference_genomes_custom_genomes.md %})
- In the top menu bar, go to **User -> Preferences -> Manage Custom Builds**
- Create a unique **Name** for your reference build {% if include.name %}`{{ include.name }}`{% endif %}
- Create a unique **Database** (dbkey) for your reference build {% if include.dbkey %}`{{ include.dbkey }}`{% endif %}
- Under **Definition**, select the option `FASTA-file from history`
- Under **FASTA-file**, select your fasta file {% if include.fasta %}`{{ include.fasta }}`{% endif %}
- Click the **Save** button


category: galaxy
filename: tools_rerun
title: Re-running a tool
area: tools
box_type: tip
content_hash: e68b1400a5a39b3f5943641f71f942b0
last_modified: 2026-02-26T21:12:13.721903
contributors_json: ["shiltemann", "hexylena"]
content:
1. **Expand** one of the output datasets of the tool (by clicking on it)
2. **Click** re-run {% icon galaxy-refresh %} the tool

This is useful if you want to run the tool again but with slightly different paramters, or if you just want to check which parameter setting you used.


category: galaxy
filename: tools_change_version
title: Changing the tool version
area: tools
box_type: tip
content_hash: 8ae5dbecd0e455a5cb81f0315e78ffba
last_modified: 2026-02-26T21:12:13.721421
contributors_json: ["shiltemann"]
content:
Tools are frequently updated to new versions. Your Galaxy may have multiple versions of the same tool available. By default, you will be shown the latest version of the tool.

**Switching to a different version** of a tool:
  - Open the tool
  - Click on the {% icon tool-versions %} versions logo at the **top right**
  - Select the desired version from the dropdown list


category: galaxy
filename: collections_add_tag
title: Adding a tag to a collection
area: collections
box_type: tip
content_hash: a034436198df47d72fbc7726a982ec45
last_modified: 2026-02-26T21:12:13.700603
contributors_json: ["shiltemann", "hexylena", "delphine-l"]
content:
1. Click on the collection in your history to view it
2. Click on **Edit** {% icon galaxy-pencil %} next to the collection name at the top of the history panel
3. Click on **Add Tags** {% icon galaxy-tags %}
4. Add a tag {% if include.tag %} named `{{include.tag}}`{% else %} starting with `#` {% endif %}
   - Tags starting with `#` will be automatically propagated to the outputs any tools using this dataset.
5. Click **Save** {% icon galaxy-save %}
6. Check that the tag appears below the collection name


category: galaxy
filename: datasets_undelete
title: How to un-delete datasets?
area: datasets
box_type: tip
content_hash: e91a3f4336bf5a0445a13838f07fc3b7
last_modified: 2026-02-26T21:12:13.703669
contributors_json: ["nekrut"]
content:
If your history contains deleted datasets you will see {% icon galaxy-delete %} **"Include deleted"** button directly above dataset display.

To un-delete datasets:

- Type `deleted:true` in the search box
- Select datasets you want to un-delete
- Click the dropdown that would appear at the top of the history;
- Select **"Undelete"** option.

![An animated gif showing how to undelete datasets]({% link shared/images/datasets_undeleting.gif %})

Alternatively, you can:

- click {% icon galaxy-delete %} **"Include deleted"** button directly above dataset display. This will cause deleted datasets to appear in history along with normal (un-deleted) datasets;
- deleted datasets are distinguished by having {% icon dataset-undelete %} within dataset box. Clicking on this icon will un-delete a given dataset;


category: galaxy
filename: histories_undelete
title: Undeleting history
area: histories
box_type: tip
content_hash: 34dd9c4f310beac4b0c7e2b4f8982a4d
last_modified: 2026-02-26T21:12:13.707466
contributors_json: ["gatwirival", "nekrut"]
content:
Deleted histories can be **undeleted**:

1. Select "Histories" from the activity bar on the left
2. Toggle "Advanced search"
3. Click "Deleted"
4. Click on the title of the history you want to un-delete and un-delete it!

![Undeleting a deleted history]({% link faqs/galaxy/images/histories_undelete.gif %})


category: galaxy
filename: histories_options
title: History options
area: histories
box_type: tip
content_hash: 613f947fa64c7e5a7d5039992db081bb
last_modified: 2026-02-26T21:12:13.706590
contributors_json: ["nekrut"]
content:
Clicking the {% icon galaxy-history-options %} button will open a drop-down menu with several options:

- **Show histories side-by-side** - brings up a view in which multiple histories can be viewed and manipulated simultaneously. Datasets can be dragged between histories in this view.
- **Resume Paused Jobs** - restarts paused jobs in history.
- **Copy this history** - creates an exact copy of the current history in the current account.
- **Delete this history** - deletes the current history.
- **Export tool citations** - export citations for tools that were used in the current history.
- **Export history to File** - creates a compressed archive containing data from the current history.
- **Archive history** - moves history to a non-active, archived, state.
- **Extract workflow** - converts the current history into a workflow
- **Show invocations** - shows a list of all workflows that were run in the current history
- **Share or Publish** - allows controlling access to history. It can be made public or shared with a specific user.
- **Set Permissions** - allows to set the rules on who can access daysets in the current history.
- **Make Private** - resets all permission and makes the current history private.


category: galaxy
filename: datasets_upload_ftp
title: Upload many files (>10) via FTP
area: data upload
box_type: tip
content_hash: e3051659a5de090d0d964a136ddad2c7
last_modified: 2026-02-26T21:12:13.703993
contributors_json: ["bebatut", "shiltemann"]
content:
Some Galaxies offer FTP upload for very large datasets.

**Note:** the *"Big Three"* Galaxies (Galaxy Main, Galaxy EU, and Galaxy Australia) no longer support FTP upload, due to the recent improvements
of the default web upload, which should now support large file uploads and almost all use cases. For situations where uploading via the web
interface is too tedious, the
[galaxy-upload commandline utility](https://github.com/galaxyproject/galaxy-upload) is also available as an alternative to FTP.

To upload files via FTP, please

1. Check that your Galaxy supports FTP upload and look up the FTP settings.

2. Make sure to have an FTP client installed

    There are many options. We can recommend [FileZilla](https://filezilla-project.org/), a free FTP client that is available on Windows, MacOS, and Linux.

3. Establish FTP connection to the Galaxy server
    1. Provide the Galaxy server's FTP server name (e.g. `ftp.mygalaxy.com`)
    2. Provide the **username** (usually the e-mail address) and the **password** on the Galaxy server
    3. Connect

4. Add the files to the FTP server by dragging/dropping them or right clicking on them and uploading them

    The FTP transfer will start. We need to wait until they are done.

5. Open the Upload menu on the Galaxy server
6. Click on **Choose FTP file** on the bottom
7. Select files to import into the history
8. Click on **Start**


category: galaxy
filename: histories_finding_histories
title: Finding Histories
area: histories
box_type: tip
content_hash: e4f4fef55537d17195050723f09203af
last_modified: 2026-02-26T21:12:13.706323
contributors_json: ["jennaj", "Melkeb"]
content:
1. To review all histories in your account, go to **User > Histories** in the top menu bar.
2. At the top of the History listing, click on **Advanced Search**.
3. Set the status to all to view all of your active, deleted, and permanently deleted (purged) histories.
4. Histories in all states are listed for registered accounts. Meaning one will always find their data here if it ever appears to be "lost".
5. Note: Permanently deleted (purged) Histories may be fully removed from the server at any time. The data content inside the History is always removed at the time of purging (by a double-confirmed user action), but the purged History artifact may still be in the listing. Purged data content cannot be restored, even by an administrator.


category: galaxy
filename: account_create
title: How do I create an account on a public Galaxy instance?
area: account
box_type: tip
content_hash: 80d19549b59ebb3549aeffc2e12c42c6
last_modified: 2026-02-26T21:12:13.698789
contributors_json: ["jennaj", "bernandez", "samanthaanjei", "wm75"]
content:
1. To create an account at any public Galaxy instance, choose your server from the available [list of Galaxy Platforms](https://galaxyproject.org/use/).

    There are several UseGalaxy servers:
    {% assign servers = nil | list_usegalaxy_servers_shuffle %}
    {% for server in servers %}
    - [{{ server.name }}]({{ server.url }}) (**{{ server.id | upcase }}**)
    {% endfor %}

2. Click on **"Login or Register"** in the masthead on the server.

   ![Login or Register on the top panel]({{site.baseurl}}/faqs/galaxy/images/login_register.png)

3. On the login page, find the **Register here** link and click on it.

5. Fill in the the registration form, then click on **Create**.

   Your account should now get created, but will remain inactive until you verify the email address you provided in the registration form.

   ![Banner warning about account with unverified email address]({{site.baseurl}}/faqs/galaxy/images/unverified_account.png)

6. Check for a **Confirmation Email** in the email you used for account creation.

    Missing? Check your **Trash** and **Spam** folders.

9. Click on the **Email confirmation link** to fully activate your account.

   {% icon galaxy-info %} Delivery of the confimation email is blocked by your email provider or you mistyped the email address in the registration form?

   Please do **not** register again, but follow the [instructions to change the email address]({% link faqs/galaxy/user_preferences_manage_information.md %}) registered with your account! The confirmation email will be resent to your new address once you have changed it.

   Trouble logging in later? Account email addresses and public names are caSe-sensiTive. Check your activation email for formats.


category: galaxy
filename: tools_tool_doesnt_recognize_any_input_datasets
title: Tool doesn't recognize input datasets
area: tools
box_type: tip
content_hash: 754710c2e54db7e70c4e15e8ba747435
last_modified: 2026-02-26T21:12:13.722389
contributors_json: ["jennaj", "Melkeb"]
content:
The expected input datatype assignment is explained on the tool form. Review the input select areas and the help section below the Run Tool button. 

Understanding datatypes [FAQ]({% link faqs/galaxy/datatypes_understanding_datatypes.md %}).

No datasets or collections available? Solutions:

1. Upload or Copy an appropriate dataset for the input into the active history.
* To load new datasets, review the **Upload** tool and more choices under **Get Data** within Galaxy.
* To copy datasets from a different history into the active history see [this FAQ]({% link faqs/galaxy/histories_copy_dataset.md %}).
* To use datasets loaded into a shared Data Library see [this FAQ]({% link faqs/galaxy/datasets_import_from_data_library.md %}).
2. Resolve a datatype assignment incompatibility between the dataset and the tool. 
* To redetect a datatype see [this FAQ]({% link faqs/galaxy/datasets_detect_datatype.md %}).
* To convert a datatype see [this FAQ]({% link faqs/galaxy/datasets_convert_datatype.md %}).
* To change a datatype see [this FAQ]({% link faqs/galaxy/datasets_change_datatype.md %}).
3. Individual datasets and dataset collections are selected differently on tool forms. 
* To select a collection input on a tool form see [this FAQ]({% link faqs/galaxy/tools_select_collection.md %}).


category: galaxy
filename: reports_tables
title: Enhancing tabular dataset previews in reports/pages
area: reports
box_type: tip
content_hash: a9cf281561cd4fd6346fc1b8a23cddd7
last_modified: 2026-02-26T21:12:13.720740
contributors_json: ["jmchilton", "hexylena"]
content:
There are a number of options, specifically for tabular data, that can allow it to render more nicely in your workflow reports and pages and anywhere that GalaxyMarkdown is used.

- `title` to give your table a title
- `footer` allows you to caption your table
- `show_column_headers=false` to hide the column headers
- `compact=true` to make the table show up more inline, hiding that it was embedded from a Galaxy dataset.

The existing `history_dataset_display` directive displays the dataset name and some useful context at the expense of potentially breaking the flow of the document

> <code-in-title>Galaxy Markdown</code-in-title>
> ````markdown
> ```galaxy
> history_dataset_display(history_dataset_id=1e8ab44153008be8) 
> ```
> ````
{: .code-in}

> <code-out-title>Example Screenshot</code-out-title>
> ![a tabular dataset rendered, it has a title and a download button and sortable columns]({% link faqs/galaxy/images/report_table_history_dataset_display.png %})
{: .code-out}


The existing `history_dataset_embedded` directive was implemented to try to inline results more and make the results more readable within a more... curated document. It is dispatches on tabular types and puts the results in a table but the table doesn't have a lot of options. 

> <code-in-title>Galaxy Markdown</code-in-title>
> ````markdown
> ```galaxy
> history_dataset_embedded(history_dataset_id=1e8ab44153008be8) 
> ```
> ````
{: .code-in}

> <code-out-title>Example Screenshot</code-out-title>
> ![the same as before but no title nor download button. just a rendered table with sortable columns]({% link faqs/galaxy/images/report_table_history_dataset_embedded.png %})
{: .code-out}


The `history_dataset_as_table` directive mirrors the `history_dataset_as_image` directive: it tries harder to coerce the data into a table and provides new table—specific options. The first of these is "show_column_headers` which defaults to `true`.



> <code-in-title>Galaxy Markdown</code-in-title>
> ````markdown
> ```galaxy
> history_dataset_as_table(history_dataset_id=1e8ab44153008be8,show_column_headers=false)
> ```
> ````
{: .code-in}

> <code-out-title>Example Screenshot</code-out-title>
> ![the same as before but no title nor download button nor column headers]({% link faqs/galaxy/images/report_table_history_dataset_as_table.png %})
{: .code-out}


There is also a `compact` option. This provides a much more inline experience for tabular datasets:

> <code-in-title>Galaxy Markdown</code-in-title>
> ````markdown
> ```galaxy
> history_dataset_as_table(history_dataset_id=1e8ab44153008be8,show_column_headers=false,compact=true)
> ```
> ````
{: .code-in}

> <code-out-title>Example Screenshot</code-out-title>
> ![again the same screenshot, no table metadata, and now it lacks the small margin around it.]({% link faqs/galaxy/images/report_table_history_dataset_compact.png %})
{: .code-out}


Figures in general should have titles and legends — so there is the "title" and "footer" options also.

> <code-in-title>Galaxy Markdown</code-in-title>
> ````markdown
> ```galaxy
> history_dataset_as_table(history_dataset_id=1e8ab44153008be8,show_column_headers=false,title='Binding Site Results',footer='Here is a very good figure caption for this table.')
> ```
> ````
{: .code-in}

> <code-out-title>Example Screenshot</code-out-title>
> ![the same table with now a tasteful title and small caption below it describing that the author would write a caption if he knew what a binding site was.]({% link faqs/galaxy/images/report_table_history_dataset_title.png %})
{: .code-out}


category: galaxy
filename: interactive_tools_rstudio_rmarkdown
title: Learning with RMarkdown in RStudio
area: interactive tools
box_type: hands_on
content_hash: 86999c82896af16a7141e13c1c8847eb
last_modified: 2026-02-26T21:12:13.719532
contributors_json: ["hexylena"]
content:
Learning with RMarkdown is a bit different than you might be used to. Instead of copying and pasting code from the GTN into a document you'll instead be able to run the code directly as it was written, inside RStudio! You can now focus just on the code and reading within RStudio.

1. **Load the notebook** if you have not already, following the tip box at the top of the tutorial

   ![Screenshot of the Console in RStudio. There are three lines visible of not-yet-run R code with the download.file statements which were included in the setup tip box.]({% link topics/data-science/images/rstudio/r-download-file.png %})

2. **Open it** by clicking on the `.Rmd` file in the file browser (bottom right)

   ![Screenshot of Files tab in RStudio, here there are three files listed, a data-science-r-dplyr.Rmd file, a css and a bib file.]({% link topics/data-science/images/rstudio/r-file-menu.png %})

3. The RMarkdown document will appear in the document viewer (top left)

   ![Screenshot of an open document in RStudio. There is some yaml metadata above the tutorial showing the title of the tutorial.]({% link topics/data-science/images/rstudio/r-document-view.png %})

You're now ready to view the RMarkdown notebook! Each notebook starts with a lot of metadata about how to build the notebook for viewing, but you can ignore this for now and **scroll down to the content of the tutorial**.

You can switch to the visual mode which is way easier to read - just click on the gear icon and select `Use Visual Editor`.

![Screenshot of dropdown menu after clicking on the gear icon. The first option is `Use Visual Editor`.]({% link topics/data-science/images/rstudio/r-visual-mode.png %})

You'll see codeblocks scattered throughout the text, and these are all runnable snippets that appear like this in the document:

![Screenshot of the RMarkdown document in the viewer, a cell is visible between markdown text reading library tidyverse. It is slightly more grey than the background region, and it has a run button at the right of the cell in a contextual menu.]({% link topics/data-science/images/rstudio/r-run-cell.png %})

And you have a few options for how to run them:

1. Click the green arrow
2. <kbd>ctrl+enter</kbd>
3. Using the menu at the top to run all

   ![Screenshot of the run dropdown menu in R, the first item is run selected lines showing the mentioned shortcut above, the second is run next chunk, and then it also mentions a 'run all chunks below' and 'restart r and run all chunks' option.]({% link topics/data-science/images/rstudio/r-run-all.png %})

When you run cells, the output will appear below in the Console. RStudio essentially copies the code from the RMarkdown document, to the console, and runs it, just as if you had typed it out yourself!

![Screenshot of a run cell, its output is included below in the RMarkdown document and the same output is visible below in the console. It shows a log of loading the tidyverse library.]({% link topics/data-science/images/rstudio/r-cell-output.png %})

One of the best features of RMarkdown documents is that they include a very nice table browser which makes previewing results a lot easier! Instead of needing to use `head` every time to preview the result, you get an interactive table browser for any step which outputs a table.

![Screenshot of the table browser. Below a code chunk is a large white area with two images, the first reading 'r console' and the second reading 'tbl_df'. The tbl_df is highlighted like it is active. Below that is a pretty-printed table with bold column headers like name and genus and so on. At the right of the table is a small arrow indicating you can switch to seeing more columns than just the initial three. At the bottom of the table is 1-10 of 83 rows written, and buttons for switching between each page of results.]({% link topics/data-science/images/rstudio/r-table.png %})


category: galaxy
filename: datasets_import_via_link
title: Importing via links
area: data upload
box_type: tip
content_hash: a60d7004203f5a64811f0109902b8c98
last_modified: 2026-02-26T21:12:13.702994
content:
* Copy the link location
* Click {% icon galaxy-upload %} **Upload** at the top of the activity panel
{% if include.reset_form %}
* Click **Reset** button at the bottom of the form. If the button is greyed out -> skip to the next step.
{% endif %}
{% if include.collection %}
* Click on **Collection** on the top
{% endif %}
{% if include.collection_type %}
* Click on **Collection Type** and select `{{ include.collection_type }}`
{% endif %}
* Select {% icon galaxy-wf-edit %} **Paste/Fetch Data**
* Paste the link(s) into the text field
{% if include.link %}
  `{{ include.link }}`
{% endif %}
{% if include.link2 %}
  `{{ include.link2 }}`
{% endif %}
{% if include.format %}
* Change **Type (set all):** from "Auto-detect" to `{{ include.format }}`
{% endif %}
{% if include.genome %}
* Change **Genome** to `{{ include.genome }}`
{% endif %}
* Press **Start**
{% if include.collection %}
* Click on **Build** when available
{% if include.pairswaptext %}
* Ensure that the forward and reverse reads are set to {{ include.pairswaptext }}, respectively.
    * Click **Swap** otherwise
{% endif %}
* Enter a name for the collection
{% if include.collection_name_convention %}
    * A useful naming convention is to use {{ include.collection_name_convention }}
{% endif %}
{% if include.collection_name %}
    * {{ include.collection_name }}
{% endif %}
* Click on **Create list** (and wait a bit)
{% else %}
* **Close** the window
{% endif %}

contributors_json:
["bebatut", "hexylena", "mtekman", "lecorguille", "shiltemann", "nomadscientist", "nekrut", "mblue9"]


category: galaxy
filename: workflows_create_new
title: Creating a new workflow
area: workflows
box_type: tip
content_hash: 214824357d90c0abb18025e4e562d5a0
last_modified: 2026-02-26T21:12:13.723803
contributors_json: ["hexylena", "shiltemann"]
content:
1. Click **Workflow** on the top bar
2. Click the new workflow {% icon galaxy-wf-new %} button
3. Give it a clear and memorable name
4. Clicking **Save** will take you directly into the workflow editor for that workflow
5. Need more help? Please see the *How to make a workflow subsection* [here]({% link topics/introduction/tutorials/galaxy-intro-101-everyone/tutorial.md %})


category: galaxy
filename: histories_switch
title: Switching to an existing history
area: histories
box_type: tip
content_hash: 8b7b89e01967b6da8cd776502882563e
last_modified: 2026-02-26T21:12:13.707106
contributors_json: ["nekrut"]
content:
To switch to an existing history simply click the {% icon switch-histories %} icon at the top of the history panel. This opens a list of histories existing in a given Galaxy account in the middle part of the interface.

![UI for switching histories]({% link shared/images/list_of_histories.png %})


category: galaxy
filename: visualisations_igv
title: Using IGV with Galaxy
area: visualisation
box_type: tip
content_hash: 06512c0a4cae22c7384722a506180af2
last_modified: 2026-02-26T21:12:13.723394
contributors_json: ["shiltemann"]
content:
You can send data from your Galaxy history to IGV for viewing as follows:

1. Install IGV on your computer ([IGV download page](https://software.broadinstitute.org/software/igv/download))
2. Start IGV
3. In recent versions of IGV, you will have to enable the port:
   - In IGV, go to `View > Preferences > Advanced`
   - Check the box `Enable Port`

4. In Galaxy, expand the dataset you would like to view in IGV
   - Make sure you have set a reference genome/database correctly (dbkey) ([instructions]({% link faqs/galaxy/datasets_change_dbkey.md %}))
   - Under `display in IGV`, click on `local`


category: galaxy
filename: reference_genomes_sorting_reference_genome
title: Sorting Reference Genome
area: reference genomes
box_type: tip
content_hash: cff83d65f2b430b8f5040dcc64d4a9ef
last_modified: 2026-02-26T21:12:13.720301
contributors_json: ["jennaj", "Nurzhamalyrys"]
content:
Certain tools expect that reference genomes are sorted in [lexicographical order](https://en.wikipedia.org/wiki/Lexicographic_order). These tools are often downstream of the initial mapping tools, which means that a large investment in a project has already been made, before a problem with sorting pops up in conclusion layer tools. How to avoid? Always sort your FASTA reference genome dataset at the beginning of a project. Many sources only provide sorted genomes, but double checking is your own responsibility, and super easy in Galaxy!

1. Convert Formats -> **FASTA-to-Tabular**
2. Filter and Sort -> **Sort**
       on column: c1 
       with flavor: Alphabetical
       everything in: Ascending order
3. Convert Formats -> **Tabular-to-FASTA**

Note: The above sorting method is for most tools, but not all. In particular, GATK tools have a tool-specific sort order requirement.


category: galaxy
filename: manage_your_repositories
title: How do I manage my repositories on Galaxy?
area: features
box_type: tip
content_hash: a04ebb449cb7b509c936cf260dfe611b
last_modified: 2026-02-26T21:12:13.719876
contributors_json: ["dadrasarmin"]
content:
Here, we are going to briefly explain how you can Bring-Your-Own-Data to Galaxy or export your dataset, results, or history to 3rd party repositories. In order to add a new repository to your account follow these steps:

- Click on your Username on top right part of the website and then click on `Preferences`.
- From the middle panel, click on the `Manage Your Repositories` (previously called `Manage your remote file sources`).
- Click on the `+ Create` button on top of the page. Here, you get multiple options to connect various repositories to your account.

For all of the possible repositories, you should fill the following fields:

- In the `Name` section, give a name to your repository. This name will be used to choose the repository on Galaxy for importing or exporting datasets.
- Optionally, you can provide a `Description` for this repository. This is a note for yourself.

{% include _includes/cyoa-choices.html option1="Onedata" option2="Amazon Web Services Private Bucket" option3="Amazon Web Services Public Bucket" option4="Azure Blob" option5="Dropbox" option6="eLabFTW" option7="An FTP Server" option8="Export to Google Drive" option9="InvenioRDM" option10="S3 Compatible Storage with Credentials" option11="WebDAV" option12="Zenodo" default="Onedata" text="Select the repository you like to add to your Galaxy account." disambiguation="BYOD" %}

<div class="Onedata" markdown="1">
If you have an [Onedata](https://onedata.org/) account, you can use this repository to import and/or export your data directly from and to Onedata. The minimal supported Onezone version is 21.02.4. More information on Onedata can be found on [Onedata's website](https://onedata.org/#/home).

There are extensive tutorials for setting up and utilizing of OneData on Galaxy Training Network (GTN). At the moment, we have the following tutorials for Onedata on GTN:
1. [Getting started with Onedata distributed storage]( {% link topics/galaxy-interface/tutorials/onedata-getting-started/tutorial.md %} )
2. [Importing (uploading) data from Onedata]( {% link topics/galaxy-interface/tutorials/onedata-remote-import/tutorial.md %} )
3. [Exporting to Onedata remote]( {% link topics/galaxy-interface/tutorials/onedata-remote-export/tutorial.md %} )
4. [Setting up a dev Onedata instance]( {% link topics/dev/tutorials/onedata-dev-instance/tutorial.md %} )
5. [Configuring the Onedata connectors (remotes, Object Store, BYOS, BYOD)]( {% link topics/admin/tutorials/onedata-configuration/tutorial.md %} )

In short, you can connect your Galaxy account to an Onedata repository as follows:

- In the `Onezone domain` field, please fill in the address to your `Onezone` domain. It could be something like "datahub.egi.eu".
- Using the `Writable?` option you can decide whether to grant access to Galaxy to export (write) to your Onedata or not.
- You should provide an `Access Token` to Galaxy so it can read (import) and write (export) data to your OneData. Read more on [access tokens here](https://onedata.org/#/home/documentation/21.02/user-guide/tokens.html). You can limit the access to read-only data access, unless you wish to export data to your repository (write permissions are needed then).
- In case you want to disable validation of SSL certificates, you can use `Disable tls certificate validation?` option. However, we strongly recommend you to not use this option unless you know what your are doing.
- Click on `Create`.
</div>
<div class="Amazon-Web-Services-Private-Bucket" markdown="1">
To connect an AWS private bucket to your Galaxy account, you need to submit the following information on the form:
- First, read the [Manage access keys for IAM (Identity and Access Management) users](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html) documentation of AWS. Also, you should be familiar with Buckets ([Buckets overview](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingBucket.html)). 
- Please fill in the `Access Key ID` (something like `AKIAIOSFODNN7EXAMPLE`) and `Secret Access Key` (similar to `wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY`) in the corresponding fields on the Galaxy interface.
- Please enter the URL to your Bucket (for example, `https://amzn-s3-demo-bucket.s3.us-west-2.amazonaws.com`) in the `Bucket` section.
- Click on `Create`.
</div>
<div class="Amazon-Web-Services-Public-Bucket" markdown="1">
To connect anonymously to an AWS public bucket using your Galaxy account, you need to enter the Bucket address in the `Bucket` section. For more information about AWS Bucket, please read [AWS documentaion](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingBucket.html). Click on `Create`.
</div>
<div class="Azure-Blob" markdown="1">
To setup access to your [Azure Blob Storage](https://learn.microsoft.com/en-us/azure/storage/blobs/storage-blobs-introduction) within the Galaxy, follow the steps:
- Provide the name of your Azure Blob Storage account in the `Container Name` field. More information about container's name could be found on [the Microsoft documentation here](https://learn.microsoft.com/en-us/azure/storage/blobs/storage-blobs-introduction#containers).
- Fill the `Storage Account Name` based on your account. More information is available [on the Microsoft website](https://learn.microsoft.com/en-us/azure/storage/common/storage-account-overview).
- Using the `Hierarchical?` option you can determine whether your storage is hierarchical or not. More information on Data Lake Storage namespaces can be found in the [Azure Blob Storage documentation](https://learn.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-namespace).
- Please provide the account access key to your Azur Blob Storage account, using `Account Key` field. This is the documentation on [Managing storage account access keys](https://learn.microsoft.com/en-us/azure/storage/common/storage-account-keys-manage?tabs=azure-portal).
- If you want to be able to export data to your Azure Blob Storage container, please set `Writable?` option to "Yes".
- Click on `Create`.
</div>
<div class="Dropbox" markdown="1">
- We recommend to first login to your Dropbox account.
- On the Galaxy website, click on the `Create` button of the `Dropbox` section. You will be redirected to the Dropbox website for authentication.
- You have to login there and grant access for the Galaxy.
- Click on `Create`.
</div>
<div class="eLabFTW" markdown="1">
[eLabFTW](https://www.elabftw.net/) is a free and open source electronic lab notebook from [Deltablot](https://www.deltablot.com/). Each lab can either host their own installation or go for Deltablot's hosted solution. Using Galaxy, you can connect to an eLabFTW instance of your choice.
- Provide a URL with the protocol (http or https) and the domain name in the `eLabFTW instance endpoint (e.g. https://demo.elabftw.net)` field.
- If you want to let Galaxy to export data to your eLabFTW, please set the `Allow Galaxy to export data to eLabFTW?` to "Yes" to grant required access to Galaxy. **Keep in mind that your API key must have matching permissions.**
- You should provide an `API Key` to your eLabFTW as well. To do so, navigate to the Settings page on your eLabFTW server and go to the API Keys tab to generate a new key. Choose "Read/Write" permissions to enable both importing and exporting data. "Read Only" API keys still work for importing data to Galaxy, but they will cause Galaxy to error out when exporting data to eLabFTW. You will receive a string (similar to `2-50dd721027f56a2e119b3bdbf64f4b8518b3f82b97e7876d56dad74109c8be73d8919b88097d3c9eb8952`) and you should enter this in the `API Key` field of Galaxy interface.
- Click on `Create`.
</div>
<div class="An-FTP-Server" markdown="1">
You can setup connections to FTP and FTPS servers to import and export files as follows:
- Provide the address to your FTP server using the `FTP Host` field.
- If you want to login with a specific user, provide the username in the `FTP User` field. Leave this blank to connect to the server anonymously (if allowed by the server).
- If you want to export data to this FTP, you should set the `Writable?` option to "Yes".
- Please specify the port that Galaxy should use to connect to your FTP server using the `FTP Port` field.
- In the `FTP Password` field provide the password to connect to the FTP server. Leave this blank to connect to the server anonymously (if allowed by the server).
- Click on `Create`.
</div>
<div class="Export-to-Google-Drive" markdown="1">
- We recommend to login to your Google account first.
- On the Galaxy website, click on `Select` button of `Export to Google Drive`. You will be redirected to the Google.
- Pick the account that you want to connect to Galaxy for import and export. Grant the required permissions.
- You will be back on the Galaxy portal and you can access your Google Drive for import and export (depending on your how you set up your accuont).
- Click on `Create`.
</div>
<div class="InvenioRDM" markdown="1">
[InvenioRDM](https://inveniosoftware.org/) is a research data management platform that allows you to store, share, and publish research data. You can connect to an InvenioRDM instance of your choice by following these steps:
- Please fill the address to your InvenioRDM in the following field: `InvenioRDM instance endpoint` (for example, https://inveniordm.web.cern.ch/). This should include the protocol (http or https).
- Use the `Allow Galaxy to export data to InvenioRDM?` option to give permission to Galaxy to export data to your repository or not.
- Click on `Create`.
</div>
<div class="S3-Compatible-Storage-with-Credentials" markdown="1">
- You should fill `Publication Name` with a name as the "creator" metadata of the records. This could be a person or an organization. You can later modify this. If left blank, an anonymous user will be used as the creator.
- You should also enter your `Personal Access Token`. You can get this information in your InvenioRDM instance. Navigate to Account Settings. Then, go to Applications to generate a new token. This will allow Galaxy to display your draft records and upload files to them.
- Click on `Create`.
</div>
<div class="WebDAV" markdown="1">
Using WebDAV you can connect various services that supports WebDAV protocol such as OwnCloud and NextCloud among others. The configuration of WebDAV is slightly variable from service to service but the general principles apply everywhere.
  
- Provide the server address to this repository in the `Server Domain` field.
- In the `WebDAV server Path`, you have to provide the path on this server to WebDAV.
- In the `Username` field, you should write the username you use to login to this server.
- You can grant write access for this repository using the `Writable?` (set to `Yes`) and therefore make it possible to export datasets, or histories to your connected repository.
- Click on `Create`.

> As an example, if I want to connect my nextCloud repository to my Galaxy account, I should login to my nextCloud server and find the information from `File settings` (bottom left of the page) under the WebDAV section to fill this template. It could be something like: `https://server_address.com/remote.php/dav/files/username_or_text`. Here, the `Server Domain` is `https://server_address.com` and `WebDAV server Path` is `remote.php/dav/files/username_or_text`.

In some cases, you may need to activate some features on your ownCloud or nextCloud to allow this integration. For example, some nextCloud servers require the user to use "App Passwords". This can be done using the `Settings > Security > Devices & sessions > Create new app password`.
</div>
<div class="Zenodo" markdown="1">
[Zenodo](https://zenodo.org/) is an open-access repository for research data, software, publications, and other digital artifacts. It is developed and maintained by [CERN](https://home.cern/) and funded by the European Commission as part of the [OpenAIRE](https://www.openaire.eu/) project. Zenodo provides a free platform for researchers to share and preserve their work, ensuring long-term access and reproducibility. Zenodo is widely used by researchers, institutions, and organizations to share scientific knowledge and comply with open-access mandates from funding agencies.
- Using the `Allow Galaxy to export data to Zenodo?`, you can decide whether you like to give write access to Galaxy or not. Set it to "Yes" if you want to export data from Galaxy to Zenodo, set it to "No" if you only need to import data from Zenodo to Galaxy.
- Provide a name for the "creator" metadata of your records on Zenodo using the `Publication Name` field.  You can always change this value later by editing the records in Zenodo. If left blank, an anonymous user will be used as the creator.
- You have to provide a `Personal Access Token` from your Zenodo account to Galaxy. To do so, you need to log into your account. Then, visit this site: https://zenodo.org/account/settings/applications/. Alternatively, you can click on your username on top right and then click on "Applications". Here, you need to create a "Personal Access Token". This will allow Galaxy to display your draft records and upload files to them. If you enabled the option to export data from Galaxy to Zenodo, make sure to enable the **deposit:write** scope when creating the token.
- Click on `Create`.
</div>

> <tip-title>What can you do after you connected a repository</tip-title>
>
> #### Importing data to your Galaxy account
>
> When you connect a repository to your Galaxy account, you can use it to import data to Galaxy. To do so, you can click on the `Upload` Icon on the left panel. In the poped up window, you can click on `Choose from repository` to select a repository that you have added to your account. Navigate to a file that you want to upload to your Galaxy account, check the box of the file, and click on `Select`. You can determine the format of the file, give it a name, and then click on `Start` to upload the file to your Galaxy account.
> 
> #### Exporting histories, datasets, and results to connected repositories
>
> If you have given Galaxy the permission to write to your repository, you can export your histories, datasets and reulsts in the history to that repository.
>
> ##### Histories
> 
> If you want to export a history, you should click on the History Options icon ({% icon galaxy-history-options %}) on the right panel. Then, you can click on `Export History to File`. Next, you can click on `to repository` on the middle panel. If you click on the `Click to select directory`, there will be a pop up window. Here, you can pick a repository that you have added to your account and when you are in that repository, click on `Select`. You can give a `Name` to your exported history, so you can find it easier in your connected repository. Finally, click on `Export` to write the history to your repository. Similarly, you can use `to RDM repository` or `to Zenodo` instead of the `to repository` option in the middle panel to export your history to connected RDM repositories or Zenodo.
>
> To have more options on exporting your history, you can click on `Show advanced export options` on top of the middle panel. This provides further control over the format and datasets that will be included in your exported history.
>
> ##### Datasets
>
> If you are interested to export a single dataset or results to a connected repository, you can use a tool called {% tool [Export datasets](export_remote) %}.
> 1. Select the desired option from `What would you like to export?`.
> 2. Using the `Directory URI` option, you can `Select` a connected repository. You can also give it a directory name here.
> 3. We recommend to export the metadata with your datasets and results using the `Include metadata files in export?`.
{: .tip}


category: galaxy
filename: datatypes_fastq_compressed
title: Compressed FASTQ files, (`*.gz`)
area: datatypes
box_type: tip
content_hash: dbc86e56cc1da114fce2e532cc5fa9fe
last_modified: 2026-02-26T21:12:13.704687
contributors_json: ["shiltemann"]
content:
- Files ending in `.gz` are compressed (zipped) files.
  - The `fastq.gz` format is a compressed version of a `fastq` dataset.
  - The `fastqsanger.gz` format is a compressed version of the `fastqsanger` datatype, etc.
- Compression saves space (and therefore your quota).
- Tools can accept the compressed versions of input files
- Make sure the datatype (compressed or uncompressed) is correct for your files, or it may cause tool errors.


category: galaxy
filename: sequencing_nanopore
title: Nanopore sequencing
area: sequencing
box_type: comment
content_hash: 1036fb25440e57a84a9aa25e813278bf
last_modified: 2026-02-26T21:12:13.721035
contributors_json: ["shiltemann"]
content:
Nanopore sequencing has several properties that make it well-suited for our purposes

1. Long-read sequencing technology offers **simplified** and less ambiguous genome **assembly**
2. Long-read sequencing gives the ability to **span repetitive genomic regions**
3. Long-read sequencing makes it possible to **identify large structural variations**

![How nanopore sequencing works]({% link topics/microbiome/images/plasmid-metagenomics-nanopore/nanopore_sequencing.png %} "Using nanopore sequencing, a single molecule of DNA or RNA can be sequenced without the need for PCR amplification or chemical labeling of the sample. (Image from: <a href="https://doi.org/10.7875/togopic.2020.01">Nanopore sequencing: The advantages of long reads for genome assembly</a>)") <br><br>


When using Oxford Nanopore Technologies (ONT) sequencing, the change in electrical current is measured over the membrane of a flow cell. When nucleotides pass the pores in the flow cell the current change is translated (basecalled) to nucleotides by a basecaller. A schematic overview is given in the picture above.

When sequencing using a MinIT or MinION Mk1C, the basecalling software is present on the devices. With basecalling the electrical signals are translated to bases (A,T,G,C) with a quality score per base. The sequenced DNA strand will be basecalled and this will form one read. Multiple reads will be stored in a fastq file.


category: galaxy
filename: workflows_hide_intermediate_steps
title: Hiding intermediate steps
area: workflows
box_type: tip
content_hash: 2a1e6c67ec68253e9114f918cb82dccb
last_modified: 2026-02-26T21:12:13.724349
contributors_json: ["shiltemann", "hexylena"]
content:
When a workflow is executed, the user is usually primarily interested in the final product and not in all intermediate steps.
By default all the outputs of a workflow will be shown, but we can explicitly tell Galaxy which outputs to show and which to hide for a given workflow.
This behaviour is controlled by clicking on the eye icon on for all dataset that should be hidden:

![Asterisk for `out_file1` in the `Cut` tool]({% link shared/images/workflow_editor_hide_output.png %})


category: galaxy
filename: histories_top_control_buttons
title: Top level history controls
area: histories
box_type: tip
content_hash: 5b8a5f08ea4d4763f682747f455295d9
last_modified: 2026-02-26T21:12:13.707291
contributors_json: ["nekrut"]
content:
Above the current history panel are three buttons: 

- The {% icon new-history %} "**Create new history**" button will create an empty history.
- The {% icon switch-histories %} "**Switch to history**" will open a window letting you easily swap to any of your other histories.
- The {% icon galaxy-history-options %} "**History options**" (formerly the {% icon galaxy-gear %} "Gear menu") gives you access to advanced options to work with your history.

![The three history buttons]({% link shared/images/history_top_level_buttons.svg %})

<!-- history_top_level_buttons.svg = editable version = https://docs.google.com/drawings/d/11ZIUNYVHzrieHLVph9lhXgfzrO7MM-N4ehTehMr_eto/edit?usp=sharing -->


category: galaxy
filename: datatypes_Using_compressed_fastq_data
title: Using compressed fastq data as tool inputs
area: datatypes
box_type: tip
content_hash: f7aea70cae45ff13f4717eb1ca2ec9d3
last_modified: 2026-02-26T21:12:13.704438
contributors_json: ["jennaj", "Melkeb"]
content:
- If the tool accepts `fastq` input, then `.gz` compressed data assigned to the datatype `fastq.gz` is appropriate.
- If the tool accepts `fastqsanger` input, then `.gz` compressed data assigned to the datatype `fastqsanger.gz` is appropriate.
- Using uncompressed `fastq` data is still an option with tools. The choice is yours.

**TIP:** Avoid labeling compressed data with an uncompressed datatype, and the reverse. Jobs using mismatched datatype versus actual format will fail with an error.


category: gtn
filename: galaxy_events
title: Are there any upcoming events focused on Galaxy Training?
area: other
box_type: tip
content_hash: 9fb34e8dfc046e68b29fda064b30b9e4
last_modified: 2026-02-26T21:12:13.726889
contributors_json: ["shiltemann"]
content:
Yes, always! Have a look at the [Galaxy Community Events Calendar](https://galaxyproject.org/events/) for what coming up right now.


category: gtn
filename: gtn_tutorial_mode
title: Supporting Tutorial Mode (GTN-in-Galaxy) in a tutorial
area: contributors
box_type: tip
content_hash: ca1d0e72d8c46710355c0e09c6f6624f
last_modified: 2026-02-26T21:12:13.728634
contributors_json: ["shiltemann"]
content:
GTN tutorials can be viewed directly within Galaxy, we call this *Tutorial mode* ([read news post]({% link faqs/galaxy/tutorial_mode.md %}))

In this mode, tool names in hands-on boxes become clickable, directly opening the tool in Galaxy, at the right version.

To enable this feature, a bit of metadata needs to be added to the tool names in hands-on boxes as follows:

{% raw %}
```
{% tool [Name](Toolshed ID) %}
```
{% endraw %}

For example:

{% raw %}
```
{% tool [bedtools intersect intervals](toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_intersectbed/2.30.0+galaxy1) %}
```
{% endraw %}

To find the toolshed ID of a tool:

1. Open the tool in Galaxy
2. Click on the {% icon dropdown %} options menu (dropdown icon)
3. Select **Copy Tool ID**

  ![screenshot of menu with toolshed link for a tool]({% link faqs/gtn/images/tool_toolshed_link.png %})

Example of a hands-on box using this feature:

{% raw %}
```
> <hands-on-title> Counting SNPs </hands-on-title>
>
> 1. {% tool [Datamash](toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0) %} (operations on tabular data):
>
>    - *"Input tabular dataset"*: select the output dataset from **bedtools intersect intervals** {% icon tool %}
>    - *"Group by fields"*: `Column: 4` (the column with the exon IDs)
>
{: .hands_on}
```
{% endraw %}


category: gtn
filename: gtn_audience
title: What audiences are the tutorials for?
area: introduction
box_type: tip
content_hash: 660ea84b7988eb3bf2af57df4a0e90d3
last_modified: 2026-02-26T21:12:13.727548
contributors_json: ["bebatut", "shiltemann"]
content:
There are two distinct audiences for these materials.

1. **Self-paced individual learners.** These tutorials provide everything you need to learn a topic, from explanations of concepts to detailed hands-on exercises.
2. **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.


category: gtn
filename: contributors_git_advanced
title: How can I contribute in "advanced" mode?
area: contributors
box_type: tip
content_hash: bcffd2cfd77bebf1dcc49079ed02636c
last_modified: 2026-02-26T21:12:13.726032
contributors_json: ["shiltemann", "hexylena"]
content:
Most of the content is written in [GitHub Flavored Markdown](https://guides.github.com/features/mastering-markdown/) with some metadata (or variables) found in [YAML](http://yaml.org/) files. Everything is stored on our [GitHub repository]({{ site.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:

![Structure of the repository]({% link shared/images/repo_organization.png %}){: width="400px"}

- 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 tutorial
    - 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).

To manage changes, we use [GitHub flow](https://guides.github.com/introduction/flow/) based on Pull Requests (check our [tutorial]({% link topics/contributing/tutorials/create-new-tutorial-content/tutorial.md %})):

1. [Create a fork](https://help.github.com/articles/fork-a-repo/) of this repository on GitHub
2. Clone your fork of this repository to create a local copy on your computer and initialize the required submodules (`git submodule init` and `git submodule update`)
3. Create a new branch in your local copy for each significant change
4. Commit the changes in that branch
5. Push that branch to your fork on GitHub
6. Submit a pull request from that branch to the [original repository]({{ site.github_repository }})
7. If you receive feedback, make changes in your local clone and push them to your branch on GitHub: the pull request will update automatically
8. 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:

1. Creation of a branch derived from the main branch of the GitHub repository
2. Initialization of a new directory for the tutorial
3. Filling of the metadata with title, questions, learning objectives, etc
4. Generation of the input dataset for the tutorial
5. Filling of the tutorial content
6. Extraction of the workflows of the tutorial
7. Automatic extraction of the required tools to populate the tool file
8. Automatic annotation of the public Galaxy servers
9. Generation of an interactive tour for the tutorial with the [Tourbuilder](https://tailordev.fr/blog/2017/07/19/the-galaxy-tour-builder-extension/) web-browser extension
10. Upload of the datasets to Zenodo and addition of the links in the data library file.
11. Once ready, opening a Pull Request
12. Automatic checks of the changes are automatically checked for the right format and working links using continuous integration testing on Travis CI
13. Review of the content by several other instructors via discussions
14. After the review process, merge of the content into the main branch, starting a series of automatic steps triggered by Travis CI
15. Regeneration of the website and publication on [{{ site.url }}{{ site.baseurl }}/]({{ site.baseurl }}/)
16. Generation of PDF artifacts of the tutorials and slides and upload on the FTP server
18. Population of [TeSS](https://tess.elixir-europe.org/), the ELIXIR’s Training Portal, via the metadata

![Development process]({% link shared/images/development_process.png %})

To learn how to add new content, check out our [series of tutorials on creating new content]({% link topics/contributing/index.md %}):

{% assign topic = site.data["contributing"] %}
<ol>
{% assign topic_material = site | topic_filter:'contributing' %}
{% for material in topic_material %}
 {% if material.enable != "false" %}
  {% if material.type == "introduction" %}
<li><a href="{{ site.baseurl }}/topics/{{ topic.name }}/slides/{{ material.tutorial_name }}.html">{{ material.title }}</a></li>
 {% elsif material.type == "tutorial" %}
  {% if material.hands_on %}
<li><a href="{{ site.baseurl }}/topics/{{ topic.name  }}/tutorials/{{ material.tutorial_name }}/tutorial.html">{{ material.title }}</a></li>
  {% elsif material.slides %}
<li><a href="{{ site.baseurl }}/topics/{{ topic.name }}/tutorials/{{ material.tutorial_name }}/slides.html">{{ material.title }}</a></li>
   {% endif %}
  {% endif %}
 {% endif %}
{% endfor %}
 </ol>

We also strongly recommend you read and follow [The Carpentries](https://carpentries.org/) recommendations on [lesson design](https://carpentries.github.io/lesson-example/01-design/) and [lesson writing](https://carpentries.github.io/instructor-training/15-lesson-study/) if you plan to add or change some training materials, and also to check the structure of the training material above.


category: gtn
filename: learners_using_materials
title: How do I use this material?
area: learners
box_type: tip
content_hash: e8c50c2c4d166e4f2e3acd49f11901a3
last_modified: 2026-02-26T21:12:13.736248
contributors_json: ["bebatut", "shiltemann"]
content:
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.


category: gtn
filename: contributors_appreciated
title: Thanks!
area: contributors
box_type: tip
content_hash: 88bccfe593d3479874c52f04ab6e50e3
last_modified: 2026-02-26T21:12:13.725789
contributors_json: ["bebatut", "shiltemann"]
content:
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]({% link topics/contributing/index.md %}) for more details.


category: gtn
filename: galaxy_tested_with
title: Compatible Versions of Galaxy
area: other
box_type: warning
content_hash: b132c97c03c21c6f94e2b40b24c30667
last_modified: 2026-02-26T21:12:13.726981
contributors_json: ["hexylena"]
content:
{% if include.version %}
This tutorial has been tested to work with {{ include.version }}
{% else %}
This tutorial may not be updated for the latest version of Galaxy.
{% endif %}

- Galaxy's Interface **may** be different to the Galaxy where you are following this tutorial.
- ✅ All tutorial steps will still be able to be followed (potentially with minor differences for moved buttons or changed icons.)
- ✅ Tools will all still work


category: gtn
filename: gtn_advertise
title: How can I advertise the training materials on my posters?
area: introduction
box_type: tip
content_hash: 4f059f087a625729c07dda27b299fb84
last_modified: 2026-02-26T21:12:13.727463
contributors_json: ["bebatut", "shiltemann"]
content:
We provide some QR codes and logos in the [images folder]({{ site.github_repository }}/tree/{{ site.github_repository_branch }}/assets/images).


category: gtn
filename: galaxy_what_is_it
title: What is Galaxy?
area: introduction
box_type: tip
content_hash: f86abb204129c980322e627bec316a12
last_modified: 2026-02-26T21:12:13.727173
contributors_json: ["bebatut", "shiltemann"]
content:
[Galaxy](https://galaxyproject.org/) 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.


category: gtn
filename: contributors_reporting_issues
title: How can I report mistakes or errors?
area: contributors
box_type: tip
content_hash: 1b81c9e8d9ba3f8346bb4e9031270b83
last_modified: 2026-02-26T21:12:13.726381
contributors_json: ["shiltemann"]
content:
The easiest way to start contributing is to [file an issue]({{ site.github_repository }}/issues/new) 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.


category: gtn
filename: contributors_without_git
title: How can I create new content without dealing with git?
area: contributors
box_type: tip
content_hash: dab29fa7fa83192787c61f78db380b62
last_modified: 2026-02-26T21:12:13.726607
contributors_json: ["shiltemann"]
content:
If you feel uncomfortable with using the git and the [GitHub flow](https://guides.github.com/introduction/flow/), you can write a new tutorial with any text editor and then contact us (via [Gitter]({{ site.gitter_url }}) or [email](mailto:{{ site.email }})). We will work together to integrate the new content.


category: gtn
filename: get_data_upload
title: How can I load data?
area: introduction
box_type: tip
content_hash: 2838e1069714dd8818224611f7972885
last_modified: 2026-02-26T21:12:13.727274
contributors_json: ["jennaj", "bernandez"]
content:
- Load by "browsing" for a local file. Some servers will support load data that is 2 GB or larger. If you are having problems with this method, try FTP.
- Load using an **HTTP URL** or **FTP URL**.
- Load a few lines of plain text.
- Load using FTP. Either line command or with a desktop client.


category: gtn
filename: contributors_giving_feedback
title: How can I give feedback?
area: contributors
box_type: tip
content_hash: 2f942a6b430a188ddff4f1fa76b6e39b
last_modified: 2026-02-26T21:12:13.726139
contributors_json: ["shiltemann"]
content:
At the end of each tutorial, there is a link to [a feedback form](https://docs.google.com/forms/d/1BILuBp8bPv42odpZ55Kcf2rqzR-k0Czx46agVVSRgm4/edit). We use this information to improve our tutorials.

For global feedbacks, you can open an [issue on GitHub]({{ site.github_repository }}/issues/new), write us on [Gitter]({{ site.gitter_url }}) or send us an [email](mailto:{{ site.email }}).


category: gtn
filename: contributors_getting_started
title: How can I get started with contributing?
area: contributors
box_type: tip
content_hash: 2a18f7c793bc7d1cd0f341c9a97bc92b
last_modified: 2026-02-26T21:12:13.725903
contributors_json: ["bebatut", "shiltemann"]
content:
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!

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.

Basic:

- **Test** the tutorial on a running Galaxy instance
   - For example {% assign servers = nil | list_usegalaxy_servers_shuffle %}{% for server in servers %}[{{ server.name }}]({{ server.url }}){% if forloop.last %}{% else %}, {% endif %}{% endfor %}
   - Report any issues you run into
- **Language** editing
  - Fix spelling and grammar mistakes
  - Simplify the English (to make it more accessible)

Intermediate:

- **Metadata**
  - Are the objectives, keypoints and time estimate filled in?
  - Do they fit with the contents of the tutorial?
- **Content**
  - 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?

Advanced:

- **Workflows**
  - Add a workflow definition file `.ga` if none is present
  - Check that the existing workflow is up-to-date with the tutorial contents
  - Enable [workflow testing](https://github.com/usegalaxy-eu/workflow-testing)
- **Tours**
  - Add a tour if none exists
  - Run the existing tour and check that it is up-to-date with the tutorial contents
- **Datasets**
  - Check that all datasets used in the tutorial are present in Zenodo
  - Add a data-library.yaml file if none exists


Another great way to help out the project is by reviewing [open pull requests]({{ site.github_repository }}/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-desc). 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 [in GitHub's PR Reviewing Documentation](https://help.github.com/articles/about-pull-request-reviews/)


category: gtn
filename: gtn_stats
title: GTN Stats
area: other
box_type: none
content_hash: ba300c8cd596d49db1486adf13153a70
last_modified: 2026-02-26T21:12:13.728451
contributors_json: ["hexylena"]
content:
<!-- tutorial stats -->
{% assign tutorials = site.pages | where:"layout", "tutorial_hands_on" | where_exp:"item","item.draft != true" %}
{% assign faqs = site.pages | where:"layout", "faq" %}
{% assign topics = site | list_topics_by_category: "science-technical" | to_keys %}
{% assign contributors = site.data['contributors'] | where_exp: "item", "item.gtn-halloffame != 'no'" | sort: "joined" %}
{% assign learning_pathways = site.pages | where:"layout", "learning-pathway" | where_exp:"item","item.draft != true"  %}
{% assign news = site.posts | where:"layout", "news" %}
{% assign events = site.pages | where:"layout", "event" %}
{% assign events_ext = site.pages | where:"layout", "event-external" %}
{% assign events_s = events | size %}
{% assign events_ext_s = events_ext | size %}
{% assign videos = site | list_videos  %}
{% assign editors = site | list_editors_flat %}
{% assign workflow_count = site | count_workflows %}
{% assign orgs = site.data['organisations'] %}


{% if include.compact %}
<div class="row" style="color: var(--text-color-boxtitle)">

<div class="col-md-3 col-sm-6 col-6">
 <div class="gtn-card color-comment">
   <div class="card-title-small">{{ contributors | size }}</div>
   <div class="card-text-small">Contributors</div>
 </div>
</div>

<div class="col-md-3 col-sm-6 col-6">
 <div class="gtn-card color-agenda">
   <div class="card-title-small">{{ topics | size }}</div>
   <div class="card-text-small">Topics</div>
 </div>
</div>

<div class="col-md-3 col-sm-6 col-6">
 <div class="gtn-card color-tip">
   <div class="card-title-small">{{ tutorials | size }}</div>
   <div class="card-text-small">Tutorials</div>
 </div>
</div>

<div class="col-md-3 col-sm-6 col-6">
 <div class="gtn-card color-handson">
   <div class="card-title-small">{{ site.age | round: 1}}</div>
   <div class="card-text-small">Years</div>
 </div>
</div>

</div>

{% else %}

<div class="row" style="color: var(--text-color-boxtitle)">

<!-- Row 1; High Level Metrics -->

<div class="col-md-3">
 <div class="gtn-card color-rainbow-orangered">
   <div class="card-title">{{ tutorials | size }}</div>
   <div class="card-text">Tutorials</div>
 </div>
</div>

<div class="col-md-3">
 <div class="gtn-card color-rainbow-orange">
   <div class="card-title">{{ topics | size }}</div>
   <div class="card-text">Topics</div>
 </div>
</div>

<div class="col-md-3">
 <div class="gtn-card color-rainbow-orangeyellow">
   <div class="card-title">{{ learning_pathways | size }}</div>
   <div class="card-text">Learning Paths</div>
 </div>
</div>

<div class="col-md-3">
 <div class="gtn-card color-rainbow-green">
   <div class="card-title">{{ faqs | size }}</div>
   <div class="card-text"><abbr title="Frequently Asked Questions">FAQs</abbr></div>
 </div>
</div>


<!-- row 2 -->

<div class="col-md-3">
 <div class="gtn-card color-rainbow-blue">
   <div class="card-title">{{ workflow_count }}</div>
   <div class="card-text">Workflows</div>
 </div>
</div>

<div class="col-md-3">
 <div class="gtn-card color-rainbow-purple">
   <div class="card-title">{{ videos | size }}</div>
   <div class="card-text">Videos ({{ site | list_videos_total_time | round:1}}h)</div>
 </div>
</div>

<div class="col-md-3">
 <div class="gtn-card color-rainbow-violet">
   <div class="card-title">{{ news | size }}</div>
   <div class="card-text">News Posts</div>
 </div>
</div>

<div class="col-md-3">
 <div class="gtn-card color-rainbow-pink">
   <div class="card-title">{{ site.age | round: 1}}</div>
   <div class="card-text">Years</div>
 </div>
</div>


</div>

<!-- Row 3: People & Project -->

<h2> Community Stats </h2>
<div class="row" style="color: var(--text-color-boxtitle)">

<div class="col-md-3">
 <div class="gtn-card color-rainbow-orangeyellow h-100">
   <div class="card-title">{{ contributors | size }}</div>
   <div class="card-text">Contributors</div>
 </div>
</div>

<div class="col-md-3">
 <div class="gtn-card color-rainbow-green h-100">
   <div class="card-title">{{ editors | size }}</div>
   <div class="card-text">Editorial Board Members</div>
 </div>
</div>

<div class="col-md-3">
 <div class="gtn-card color-rainbow-blue h-100">
   <div class="card-title">{{ events_s | plus: events_ext_s }}</div>
   <div class="card-text">Events</div>
 </div>
</div>

<div class="col-md-3">
 <div class="gtn-card color-rainbow-violet h-100">
   <div class="card-title">{{ orgs | where_exp: "org", "org.gtn-halloffame != 'no'" | size }}</div>
   <div class="card-text">Supporting Organisations</div>
 </div>
</div>

</div>
{% endif %}


category: gtn
filename: recordings_create
title: Recording a video tutorial
area: contributors
box_type: tip
content_hash: 08c48f8217c7f90a43a39c2bc78e2e25
last_modified: 2026-02-26T21:12:13.736532
contributors_json: ["shiltemann", "hexylena"]
content:
This FAQ describes some **general guidelines** for recording your video

**Anybody is welcome to record one of the GTN tutorials**, even if another recording already exists!
Both the GTN tutorial and Galaxy itself change significantly over time, and having regular and/or multiple recordings of tutorials is great!

**Done with your recording?** Check out the instructions for adding it to the GTN:

[Submitting Recordings to the GTN]({% link faqs/gtn/recordings_add.md %}){: .btn.btn-info}


#### Video content

1. **Start of video**
  - **Introduce yourself**
  - Discuss the **questions and learning objectives** of the tutorial
  - Give a **basic introducion about the topic**, many participants will be novices

2. **Guide the learners through the tutorial step by step**
   - Explain the scientific background of the analysis
   - Explain where you are clicking in Galaxy
   - Explain what tool parameters mean
   - Explain what the tool does
   - Discuss the output files
   - Discuss how to interpret the results
   - Discuss question boxes from the tutorial

3. **Speak slowly and clearly**
  - Take your time, we are not in a hurry
  - It is often a lot of new information for participants, give them a chance to process all of it
  - Speaking slowly and clearly will improve the quality of the auto-generated captions, and will be less work for you to fix captions.

4. **If things go wrong that is OK!**
  - It's a great teaching moment!
  - Explain the steps you are taking to determine what went wrong, and how you are fixing it.
  - It makes participants feel less bad if things go wrong for them

5. **If your tutorial is long**
  - Indicate good places for people to take a break
  - e.g. when a tool takes a while to run

6. **End of video**
  - Go over some of the **take-home messages (key-points)** of the tutorial
  - Remind viewers about the **feedback form** embedded at the end of the tutorial
  - Share your recommendations for **follow-up tutorials**
  - Share any other tips for where to learn more about the topic
  - Share **how to connect with the community** (e.g. Matrix, Help Forum, social media, etc)

7. If you are doing both a lecture and a hands-on training, please create 2 separate videos


#### Technical Guidelines

1. Start a [Zoom](https://zoom.us/) call with yourself, record that.
   - For Mac users, QuickTime Player is also a nice option.
   - Have another preference like OBS? Totally OK too!
   - We recommend zoom to folks new to video production as it is the easiest to get started and produces quite small file sizes.

2. Do a short **test recording** first
   - Is the **audio quality** good enough?
     - Wearing a headset often improves the audio quality.
   - **Screen sharing:** is your screen readable?
     - Make sure you **zoom in** enough for it to be clearly visible what you are doing in Galaxy.
     - Test watching the video in a non-maximised window. Is it still legible?
     - If the participant is using 50% of their screen for the video, 50% for Galaxy, will it be legible?

3. Need to edit your video after recording?
  - For example to merge multiple videos together?
  - Software like [KDEnlive](https://kdenlive.org/en/) can help here.
  - Feel free to ask us for help if you need!


#### Standards

1. **Zoom in**, in every interface you're covering! Many people will be watching the video while they're doing the activity, and won't have significant monitor space. Which video below would you rather be trying to follow?

   Bad | Good 😍
   --- | ---
   ![default size screenshot of usegalaxy.eu]({% link faqs/gtn/images/bad.png %}) | ![zoomed in screenshot of usegalaxy.eu, now much more legible]({% link faqs/gtn/images/good.png %})

   Bad | Good 🤩
   --- | ---
   ![green text on black background console with tiny font]({% link faqs/gtn/images/bad-console.png %}) | ![zoomed in screenshot of a console with high contrast black and white content]({% link faqs/gtn/images/good-console.png %})

2. (Especially for introductory videos!) Clearly call out what you're doing, especially on the first occurrence

   Bad | Good
   --- | ---
   "Re-run the job" | "We need to re-run the job which we can do by first clicking to expand the dataset, and then using the re-run job button which looks like a refresh icon."

   Bad | Good
   --- | ---
   "As you can see here the report says X" | "I'm going to view the output of this tool, click on the eyeball icon, and as you can see the report says X."

   But the same goes for terminal aliases, please disable all of your favourite terminal aliases and quick shortcuts that you're used to using, disable your bashrc, etc. These are all things students will try and type, and will fail in doing so. We need to be very clear and explicit because people will type exactly what is on the screen, and their environment should at minimum match yours.

   Bad | Good
   --- | ---
   `lg file`| `ls -al | grep file`
   `z galaxy`| `cd path/to/the/galaxy`

3. Consider using a pointer that is more visually highlighted.

   ![mouse pointer with circle around it that follows it around]({% link faqs/gtn/images/mouse.png %})

   There are themes available for your mouse pointer that you can temporarily use while recording that can make it easier for watchers to see what you're doing.

   - [Windows](https://www.microsoft.com/en-us/p/mouse-pointer-highlight/9p7sb9s4rq7z?activetab=pivot:overviewtab)
   - [Linux](https://askubuntu.com/questions/777896/how-do-i-highlight-my-mouse-pointer-while-screen-recording/917587#917587)


category: gtn
filename: fair_training
title: How does the GTN ensure our training materials are FAIR?
area: contributors
box_type: tip
content_hash: 3fe5108254fda257a9dd20498e12ceaf
last_modified: 2026-02-26T21:12:13.726798
contributors_json: ["hexylena"]
content:
This infrastructure has been developed in accordance with the FAIR (Findable, Accessible, Interoperable, Reusable) principles for training materials {% cite Garcia2020 %}. Following these principles enables trainers and trainees to find, reuse, adapt, and improve the available tutorials.

The GTN receives a 100% score on the [FAIR Checker](https://fair-checker.france-bioinformatique.fr/check), as noted in our recent [news post]({{ site.baseurl }}/news/2024/05/13/fair.html)


10 Simple Rules                                                            | Implementation in GTN framework
---------------                                                            | -------------------------------
Plan to share your training materials online                               | Online [training material portfolio](https://training.galaxyproject.org/), managed via [a public GitHub repository](https://github.com/galaxyproject/training-material)
Improve findability of your training materials by properly describing them | Rich metadata associated with each tutorial that are visible and accessible via schema.org on each tutorial webpage.
Give your training materials a unique identity                             | URL persistency with redirection in case of renaming of tutorials. Data used for tutorials stored on Zenodo and associated with a Digital Object Identifiers (DOI)
Register your training materials online                                    | Tutorials automatically registered on TeSS, the [ELIXIR's Training e-Support System](https://tess.elixir-europe.org/)
If appropriate, define access rules for your training materials            | Online and free to use without registration
Use an interoperable format for your training materials                    | Content of the tutorials and slides written in Markdown. Metadata associated with tutorials stored in YAML, and workflows in JSON. All of this metadata is available [from the GTN's API]({% link api/index.html %})
Make your training materials (re-)usable for trainers                      | Online. Rich metadata associated with each tutorial: title, contributor details, license, description, learning outcomes, audience, requirements, tags/keywords, duration, date of last revision. Strong technical support for each tutorial: workflow, data on Zenodo and also available as data libraries on UseGalaxy.\*, tools installable via the Galaxy Tool Shed, list of possible Galaxy instances with the needed tools.
Make your training materials (re-)usable for trainees                      | Online and easy to follow hands-on tutorials. Rich metadata with "Specific, Measurable, Attainable, Realistic and Time bound" (SMART) learning outcomes following Bloom's taxonomy. Requirements and follow-up tutorials to build learning path. List of Galaxy instances offering needed tools, data on Zenodo and also available as data libraries on UseGalaxy.\*. Support chat embedded in tutorial pages.
Make your training materials contribution friendly and citable             | Open and collaborative infrastructure with contribution guidelines, a CONTRIBUTING file and a chat. Details to cite tutorials and give credit to contributors available at the end of each tutorial.
Keep your training materials up-to-date                                    | Open, collaborative and transparent peer-review and curation process. Short time between updates.


category: gtn
filename: what-is-a-learning-pathway
title: What is a Learning Pathway?
area: introduction
box_type: comment
content_hash: 7dfd89cbfb71b30d27e9408d4a37635f
last_modified: 2026-02-26T21:12:13.736794
contributors_json: ["shiltemann"]
content:
<div style="display:inline-block;vertical-align:top;width:10%">
<img src="{{site.baseurl}}/assets/images/learning-pathway.png" alt="A graphic depicting a winding path from a start symbol to a trophy, with tutorials along the way" class="invert-safe" />
</div>
<div  style="display:inline-block; margin-left: 2em; width:70%">
We recommend you follow the tutorials in the order presented on this page. They have been selected to fit together and build up your knowledge step by step. If a lesson has both slides and a tutorial, we recommend you start with the slides, then proceed with the tutorial.
</div>


category: gtn
filename: learners_running_tutorials
title: Where can I run the hands-on tutorials?
area: learners
box_type: tip
content_hash: 718dafec9e1941a2529016240d9648bb
last_modified: 2026-02-26T21:12:13.736143
contributors_json: ["bebatut", "shiltemann"]
content:
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](https://galaxyproject.org/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]({% link topics/teaching/tutorials/setup-galaxy-for-training/tutorial.md %}).

Some topics have a [Docker](https://www.docker.com/) 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](https://docs.docker.com/install/).

Finally, you can also run your tutorials on cloud-based infrastructures.  Galaxy is [available on many national research infrastructures](https://galaxyproject.org/galaxy-services/) such as [Jetstream](https://galaxyproject.org/cloud/jetstream/) (United States), [GenAP](https://www.genap.ca/) (Canada), [GVL](https://www.gvl.org.au/) (Australia), [CLIMB](http://www.climb.ac.uk/) (United Kingdom), and more.  These instances are typically easy to launch, and easy to shut down when you are done.

If you are already familiar with, and have an account on [Amazon Web Services](https://aws.amazon.com/) then you can also launch a Galaxy server there using [CloudLaunch](https://launch.usegalaxy.org/).


category: gtn
filename: gtn_licenses
title: What licenses are used in the GTN?
area: introduction
box_type: tip
content_hash: 1115746dfa9472c583d7684e2708109c
last_modified: 2026-02-26T21:12:13.728115
contributors_json: ["hexylena"]
content:
We provide a listing of all licenses for code and things displayed to you in the GTN in [the licenses page]({% link licenses.md %})


category: gtn
filename: gtn_news_create_post
title: Creating a GTN News post
area: contributors
box_type: tip
content_hash: 93bae0732d22a54f14f3bdabb5c1bead
last_modified: 2026-02-26T21:12:13.728335
contributors_json: ["shiltemann"]
content:
If you have created a new tutorial, running an event, published a paper around training, or have anything else interesting to share with the GTN community, we encourage you to write a **News item** about it!

News items will show up on the [GTN homepage]({% link index.md %}) and in the [GTN news feed]({% link news.md %}).

**Creating the news post: The Easy Way**

[Fill out this Google Form](https://forms.gle/6SRAVcppzieef7Zz9). Every day our bot will import the news posts submitted via this Google Form, and we will process them, perhaps requesting small changes, so we recommend that you have a GitHub account already.

**For Advanced Users**

Have a look at the existing news items in the [`news/_posts/` folder](https://github.com/galaxyproject/training-material/tree/main/news/_posts) of the GTN repository for some examples.

A news post is a markdown file that looks as follows:


```markdown
---
layout: news

title: "New Tutorial: My tutorial title"
tags:
  - new tutorial
  - transcriptomics
contributors:
  - shiltemann
  - hexylena

tutorial: "topics/introduction/tutorials/data-manipulation-olympics/tutorial.html"
cover: "path/to/cover-image.jpg"  # usually an image from your tutorial
coveralt: "description of the cover image"

---

A bit of text containing your news, this is all markdown formatted,
so you can do **bold** and *italic* text like this, and links look
like [this](https://example.com) etc.

Describe everything you want to convey here, can be as long as you
need.
```

Make sure the filename is structured as follows: `year-month-day-title.md`, so for example: `2022-10-28-my-new-tutorial.md`


category: gtn
filename: recordings_add
title: Adding your recording to a tutorial or slide deck
area: contributors
box_type: tip
content_hash: 5a1df76c9e70a789ca17dbdbe32ddb81
last_modified: 2026-02-26T21:12:13.736431
contributors_json: ["shiltemann"]
content:
**We welcome anybody to submit their recordings!** Your videos can be used in (online) training events, or for self-study by learners on the GTN.

For some tips and tricks about recording the video itself, please ensure your recording conforms to our recommendations:

[Recording Tips & Tricks]({% link faqs/gtn/recordings_create.md %}){: .btn.btn-info}
[Submit a Recording](https://forms.gle/qNG8FkTN1yRZPNZY6){: .btn.btn-info}

#### Submission process

The process of adding recordings to the GTN is as follows:

1. **Instructor:** Record video ([tips & tricks]({% link faqs/gtn/recordings_create.md %}))
2. **Instructor:** Submit your video using this [Google Form](https://forms.gle/qNG8FkTN1yRZPNZY6)
3. **GTN:** A [GTN GitHub pull request (PR)](https://github.com/galaxyproject/training-material/pulls) will be made by our bot based on the form.
4. **GTN:**: We will upload your video to the [GalaxyProject YouTube channel](https://www.youtube.com/c/galaxyproject)
5. **GTN:**: We will put the auto-generated captions from YouTube into a Google Doc
6. **Instructor:**: Check and fix the auto-generated captions
7. **GTN:** Upload the fixed captions to YouTube
8. **GTN:** Merge the Pull Request on GitHub
9. Done! Your recording will now show up on the tutorial for anybody to use and re-use


**Note:** If you are submitting a video to use in an event, please submit your recording **2 weeks before the start of your course** to allow ample time to complete the submission process.

#### Recordings Metadata

Our bot will add some metadata about your recording to the tutorial or slide deck in question, and looks as follows:

```
recordings:
  - speakers:       # speakers must be defined in the CONTRIBUTORS.yaml file
    - shiltemann
    - hexylena
    captioners:     # captioners must also be present in the CONTRIBUTORS.yaml file
    - bebatut
    type:           # optional, will default to Tutorial or Lecture, but if you do something different, set it here (e.g. Demo, Lecture & Tutorial, Background, Webinar)
    date: '2024-06-12'         # date on which you recorded the video
    galaxy_version: '24.0'     # version of Galaxy you used during the recording, can be found under 'Help->About' in Galaxy
    length: 1H17M              # length of your video, in format: 17M or 2H34M  etc
    youtube_id: "dQw4w9WgXcQ"  # the bit of the YouTube URL after youtube.com/watch?v=

  - speakers:
    - shiltemann
    captioners:
    - hexylena
    - bebatut
    date: '2020-06-12'
    galaxy_version: '20.05'
    length: 51M
    youtube_id: "oAVjF_7ensg"

```

#### Misc

**Note:** If your videos are already uploaded to YouTube, for example as part of a different project's account, you can add this metadata to the tutorial or slides manually, without using our submission form.
Note that we do require all videos to have good-quality English captions, and we will not be able to help you configure these on other YouTube accounts.


category: gtn
filename: gtn_citing
title: How can I cite the GTN?
area: introduction
box_type: tip
content_hash: 34f41077629ecb15e5bd1da92f29b88e
last_modified: 2026-02-26T21:12:13.727643
contributors_json: ["bebatut", "shiltemann"]
content:
We wrote two articles about our efforts:

- [Batut, Bérénice, et al. "Community-driven data analysis training for biology." Cell systems 6.6 (2018): 752-758](https://doi.org/10.1016/j.cels.2018.05.012)
- [Hiltemann, Saskia, Rasche, Helena et al. "Galaxy Training: A Powerful Framework for Teaching!." PLOS Computational Biology (2023) 19(1): e1010752](https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1010752)

To cite individual tutorials, please find citation information at the end of the tutorial.

Here is the BibTeX formatted version of those citations:

```
@article{Hiltemann_2023,
	title        = {Galaxy Training: A powerful framework for teaching!},
	author       = {Hiltemann, Saskia and Rasche, Helena and Gladman, Simon and Hotz, Hans-Rudolf and Larivi\`{e}re, Delphine and Blankenberg, Daniel and Jagtap, Pratik D. and Wollmann, Thomas and Bretaudeau, Anthony and Gou\'{e}, Nadia and Griffin, Timothy J. and Royaux, Coline and Le Bras, Yvan and Mehta, Subina and Syme, Anna and Coppens, Frederik and Droesbeke, Bert and Soranzo, Nicola and Bacon, Wendi and Psomopoulos, Fotis and Gallardo-Alba, Crist\'{o}bal and Davis, John and F\"{o}ll, Melanie Christine and Fahrner, Matthias and Doyle, Maria A. and Serrano-Solano, Beatriz and Fouilloux, Anne Claire and van Heusden, Peter and Maier, Wolfgang and Clements, Dave and Heyl, Florian and Gr\"{u}ning, Bj\"{o}rn and Batut, B\'{e}r\'{e}nice},
	year         = 2023,
	month        = jan,
	journal      = {PLOS Computational Biology},
	publisher    = {Public Library of Science (PLoS)},
	volume       = 19,
	number       = 1,
	pages        = {e1010752},
	doi          = {10.1371/journal.pcbi.1010752},
	issn         = {1553-7358},
	url          = {http://dx.doi.org/10.1371/journal.pcbi.1010752},
	editor       = {Ouellette, Francis},
}
@article{Batut_2018,
	title        = {Community-Driven Data Analysis Training for Biology},
	author       = {Batut, B\'{e}r\'{e}nice and Hiltemann, Saskia and Bagnacani, Andrea and Baker, Dannon and Bhardwaj, Vivek and Blank, Clemens and Bretaudeau, Anthony and Brillet-Gu\'{e}guen, Loraine and \v{C}ech, Martin and Chilton, John and Clements, Dave and Doppelt-Azeroual, Olivia and Erxleben, Anika and Freeberg, Mallory Ann and Gladman, Simon and Hoogstrate, Youri and Hotz, Hans-Rudolf and Houwaart, Torsten and Jagtap, Pratik and Larivi\`{e}re, Delphine and Le Corguill\'{e}, Gildas and Manke, Thomas and Mareuil, Fabien and Ram\'{\i}rez, Fidel and Ryan, Devon and Sigloch, Florian Christoph and Soranzo, Nicola and Wolff, Joachim and Videm, Pavankumar and Wolfien, Markus and Wubuli, Aisanjiang and Yusuf, Dilmurat and Taylor, James and Backofen, Rolf and Nekrutenko, Anton and Gr\"{u}ning, Bj\"{o}rn},
	year         = 2018,
	month        = jun,
	journal      = {Cell Systems},
	publisher    = {Elsevier BV},
	volume       = 6,
	number       = 6,
	pages        = {752--758.e1},
	doi          = {10.1016/j.cels.2018.05.012},
	issn         = {2405-4712},
	url          = {http://dx.doi.org/10.1016/j.cels.2018.05.012},
}
```


category: gtn
filename: a11y
title: How does the GTN ensure accessibility?
area: contributors
box_type: tip
content_hash: 63861c79d409dc3689c990fa3f11ccfe
last_modified: 2026-02-26T21:12:13.725503
contributors_json: ["hexylena"]
content:
We are committed to an accessible training experience regardless of disability. Please see our [accessibility page]({% link accessibility.md %}) for more information.


category: gtn
filename: collaborative_development
title: How does the GTN implement the "Ten simple rules for collaborative lesson development"
area: contributors
box_type: tip
content_hash: 3ec3c6e32c9f9a9fcefb1bcb06f75e7b
last_modified: 2026-02-26T21:12:13.725691
contributors_json: ["hexylena"]
content:
The GTN framework is inherently collaborative and community-driven, and comprises a growing number of contributors with expertise in a wide range of scientific and technical domains. Given this highly collaborative nature of a community with very different skill sets, the GTN framework has evolved over the years to facilitate the contribution and maintenance of the tutorials. We aim to adhere to best-practice guidelines for collaborative lesson development described in {% cite Devenyi_2018 %}. The structure of the tutorials and repository has been made modular with unified syntax and use of snippets enabling easy access for authors to add common tips and tricks new users might need to know. This system allows for easy updating of all tutorials, if there is a change in tools or interface. More generally, we continually strive to lower contribution barriers for content creators by providing a framework that is easy to use for training developers regardless of their level of knowledge of the underlying technical framework.

Implementation of the "Ten simple rules for collaborative lesson development" ({% cite Devenyi_2018 %}) in the training material:

Rules                                            | Implementation in the GTN framework
----                                             | ---
Clarify audience                                 | Tutorial metadata includes level indicators (introductory, intermediate, advanced) and a list of prerequisite tutorials as recommended prior knowledge. This information is rendered at the top of each tutorial.
Make lessons modular                             | Development of small tutorials linked together via learning paths
Teach best practice lesson development           | We maintain the topic [*Contributing to the Galaxy Training Material*]({% link topics/contributing/index.md %}) including numerous tutorials describing how to create new content. Furthermore, quarterly online collaboration fest (CoFests) are organized, where contributors can get direct support. Development of a Train the Trainer program and a mentoring program for instructors, in which lesson development is taught
Encourage and empower contributors               | Involve them in reviews. Mentor them. Encourage them to become maintainers.
Build community around lessons                   | Quarterly online collaboration fest (CoFests) and Community calls. Chat on our Gitter/Matrix channel.
Publish periodically and recognize contributions | Author listed on tutorials. Hall of fame listing all contributors. Full tutorial citation at the end of the tutorial. Tweet about new or updated tutorials. List of new or updated tutorials in Galaxy Community newsletter. Soon: publication of tutorials via article
Evaluate lessons at several scales               | Tutorial change (Pull Request) review. Embedded feedback form in tutorials for trainee feedback. Instructor feedback. Automatic workflow testing
Reduce, re-use, recycle                          | Sharing content between tutorials, specially using snippets. Development of small modular tutorials linked by learning paths
Link to other resources                          | Links to original paper, documentation, external tutorials and other material
You can't please everyone                        | but we can try (several different Galaxy introduction tutorials for different audience). Aim to clearly state what the tutorial does and does not cover, at the start.


category: gtn
filename: instructors_choosing_server
title: What Galaxy instance should I use for my training?
area: instructors
box_type: tip
content_hash: 22588ddb9b9486aa4ef6b7f42212e153
last_modified: 2026-02-26T21:12:13.735601
contributors_json: ["bebatut", "shiltemann"]
content:
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](https://galaxyproject.org/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 the server can handle the workload for a workshop. For example, the [usegalaxy.eu](https://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 as 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]({% link topics/teaching/tutorials/setup-galaxy-for-training/tutorial.md %}).
- 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](https://galaxyproject.org/galaxy-services/) such as [Jetstream](https://galaxyproject.org/cloud/jetstream/) (United States), [GenAP](https://www.genap.ca/) (Canada), [GVL](https://launch.genome.edu.au/launch) (Australia), [CLIMB](http://www.climb.ac.uk/) (United Kingdom), and more.


