type: map mapping:
layout:
type: str
required: true
enum:
- tutorial_hands_on
description: |
This must be set to `tutorial_hands_on`
title:
type: str
required: true
description: |
Title of the tutorial (it will appear on the tutorial page and the topic page)
_examples:
- Clustering in Machine Learning
- Breve introducción a Galaxy - en español
- Pangeo ecosystem 101 for everyone - Introduction to Xarray Galaxy Tools
questions:
type: seq
sequence:
- type: str
required: true
description: |
list of questions that will be addressed in the tutorial
_examples:
- How does Genome assembly work?
- How do I change Galaxy configs?
- How to detect and quantify differentially abundant proteins in a HEK-Ecoli Benchmark DIA datatset?
- What kinds of data do programs store?
objectives:
type: seq
sequence:
- type: str
required: true
description: |
List of Specific, Measurable, Achievable, Relevant, and Time-bound (SMART) learning objectives for the tutorial
A learning objective is a single sentence describing what a learner will be able to do once they have done the tutorial. Generally it is best to follow a 2C or 3C learning objective such as:
- Compute (Skill)
- multiple whole genome assemblies (Objective)
- in such a way to develop big data processing skills (Result)
_examples:
- Understand the basic concepts behind phylogenetic trees, as applied to *Mycobacterium tuberculosis*
- Explore Biodiversity data with taxonomic, temporal and geographical informations
- Generate a DotPlot emulating the original paper using a different analysis tool
key_points:
type: seq
sequence:
- type: str
required: true
description: |
List of take-home messages. This information will appear at the end
of the tutorial. These should really be a key point, something that
should stick in their mind; what you want them to take home from
the tutorial.
_examples:
- Pangeo ecosystem enables big data analysis in geosciences
- "The MiModD suite of tools bundles most of the functionality required to perform mapping-by-sequencing analyses with Galaxy"
- It can drastically simplify management of large numbers of VMs
edam_ontology:
type: seq
sequence:
- type: str
pattern: /^topic_[0-9]+$/
description: |
An edam ontology id that describes the resource
_examples:
- topic_3173
gitter:
type: str
description: |
Link to a gitter channel that is more relevant for the tutorial than the default. E.g. a single cell tutorial could use `Galaxy-Training-Network/galaxy-single-cell` to link to their specific chat room.
_examples:
- Galaxy-Training-Network/galaxy-single-cell
- galaxy-genome-annotation/Lobby
contributors:
type: seq
sequence:
- type: str
required: true
enum:
- CONTRIBUTORS
- GRANTS
- ORGANISATIONS
description: |
List of tutorial contributors. Please use `contributions` instead as it provides more detailed accounting of tutorial history.
_examples:
- hexylena
- shiltemann
contributions:
required: true
description: |
List of tutorial contributors. Here we break them down into several broad categories to help contributors identify how they contributed to a specific tutorial.
_examples: |
contributions:
authorship:
- shiltemann
- bebatut
editing:
- hexylena
- bebatut
- natefoo
testing:
- bebatut
infrastructure:
- natefoo
translation:
- shiltemann
funding:
- gallantries
type: map
mapping:
authorship:
description: These entities wrote the bulk of the training material, they may have done the analysis, built the workflow, and wrote the text themselves.
type: seq
sequence:
- type: str
enum:
- CONTRIBUTORS
- ORGANISATIONS
editing:
type: seq
description: These entities edited the text, either for spelling and grammar, flow, GTN-fit, or other similar editing categories
sequence:
- type: str
enum:
- CONTRIBUTORS
- ORGANISATIONS
testing:
type: seq
description: These entities tested the tutorial to ensure it works correctly for students, or reported issues with the tutorial.
sequence:
- type: str
enum:
- CONTRIBUTORS
- ORGANISATIONS
ux:
type: seq
description: These entities contributed UX or Design improvements to this tutorial or the GTN as a whole
sequence:
- type: str
enum:
- CONTRIBUTORS
- ORGANISATIONS
infrastructure:
type: seq
description: These entities managed and provided infrastructure to the GTN or for training purposes
sequence:
- type: str
enum:
- CONTRIBUTORS
- ORGANISATIONS
- GRANTS
reviewing:
type: seq
description: This person reviewed this material for accuracy and correctness
sequence:
- type: str
enum:
- CONTRIBUTORS
funding:
type: seq
description: These entities provided funding support for the development of this resource
sequence:
- type: str
enum:
- ORGANISATIONS
- GRANTS
translation:
type: seq
description: These entities did translation and localisation work on this resource
sequence:
- type: str
enum:
- CONTRIBUTORS
- ORGANISATIONS
data:
type: seq
description: These entities provided data for this resource
sequence:
- type: str
enum:
- CONTRIBUTORS
- ORGANISATIONS
- GRANTS
subtopic:
type: str
description: |
if the topic has [multiple subtopics defined](/training-material/topics/contributing/tutorials/create-new-topic/tutorial.html#adapt-the-metadata-for-your-topic), you can assign your tutorial to one of those subtopics here. Without this, the tutorial will appear in the "Other tutorials" section on the topic page.
_examples:
- single-cell
priority:
type: int
description: |
This field allows ordering tutorials within the tutorial list. Tutorials with lower numbered priority come before tutorials with higher numbers.
_examples: 1
zenodo_link:
type: str
description: |
link on Zenodo to the input data for the tutorial
_examples:
- "https://zenodo.org/record/3706539"
pattern: /(^$|^https://zenodo.org/records?/[0-9]+/?$|^https://doi.org/10.5281/zenodo.[0-9]+/?$)/
extra:
type: map
description: |
Any additional variables you want to set on the page
mapping:
'=': {}
tags:
type: seq
sequence:
- type: str
required: true
description: |
A free form list of tags that are relevant for your tutorial.
_examples:
- covid-19
- git-gat
translations:
type: seq
sequence:
- type: str
required: true
description: |
If alternative translations of a material are available, then use this key to indicate which languages have been manually translated.
_examples:
- en
abbreviations:
type: map
mapping:
"=":
type: str
description: |
The expansion of the abbreviated term.
description: |
A dictionary of abbreviations and their expansions.
_examples: |
abbreviations:
SQL: Structured Query Language
API: Application Programming Interface
galaxy_version:
type: float
description: |
Currently unused.
level:
type: str
enum:
- Introductory
- Intermediate
- Advanced
description: |
Here give a feeling of what level the material is at.
time_estimation:
type: str
required: true
pattern: /^(?:([0-9]+)[Hh])?(?:([0-9]+)[Mm])?(?:([0-9.]+)[Ss])?$/
description: |
An estimation of the time needed to complete the hands-on.
_examples:
- 10M
- 1H30M
redirect_from:
type: seq
sequence:
- type: str
description: |
If a tutorial is renamed to a new location, use this field to list prior locations from which this tutorial was accessible.
_examples:
- /topics/sequence-analysis/tutorials/de-novo-rad-seq/tutorial
notebook:
type: map
_examples: |
notebook:
language: python
pyolite: true
notebook:
language: python
snippet: topics/climate/tutorials/pangeo-notebook/preamble.md
mapping:
snippet:
type: str
description: |
If you have an alternative preamble for your notebook that students should know before following (e.g. they must load X datasets in their history), it can be listed here.
This text will be shown in the GTN tutorial, but it will **not** be included in the notebook, giving you a bit better control over mixing setup content which is relevant for Galaxy, with notebook content that can be easy to run for students.
_examples:
- topics/climate/tutorials/pangeo-notebook/preamble.md
pyolite:
type: bool
description: |
The GTN has support for JupyterLite and the Pyodide kernel which runs [Python in the browser via webassembly/javascript](https://pyodide.org/en/stable/). This comes with some restrictions:
- Python only
- No filesystem access (so no `wget` prep steps)
- Little to no cell magic
However, it means we can run a lot of our Python training
directly in the GTN! And in the future, hopefully, we will
be able to embed individual cells of the notebook directly
in the Python training, so the user doesn't even need to
switch pages.
Enabling this field will enable pyolite links for this notebook.
language:
type: str
required: true
enum:
- python
- bash
- r
- sql
packages:
type: seq
description: |
A list of packages that must be installed before running this tutorial. This value is not currently used, but might be in the future.
required: false
_examples:
- tidyverse
sequence:
- type: str
required: true
lang:
type: str
enum:
- es
- en
- fr
description: |
The document language.
voice:
type: map
description: |
For materials which are automatically converted into videos via the available mechanisms, this field declares which voice should be used. If this field is not declared, a random voice will be chosen from a list of the best available voices from AWS Polly.
mapping:
id:
type: str
required: true
lang:
type: str
required: true
neural:
type: bool
required: true
_examples: |
voice:
id: Lupe
lang: es-US
neural: true
follow_up_training:
type: seq
description: list of resources that the reader of the material could follow at the end of the tutorial
_examples:
- |
type: internal
topic_name: statistics
tutorials:
- age-prediction-with-ml
- |
type: external
title: The Unix Shell
link: "http://swcarpentry.github.io/shell-novice/"
- |
type: none
title: "A VM with at least 2 vCPUs and 4 GB RAM, preferably running Ubuntu 18.04 - 20.04."
sequence:
- type: map
required: true
mapping:
type:
type: str
required: true
enum:
- internal
- external
- none
description: |
the type of link
topic_name:
type: str
description: |
[Internal Only] The name of the topic
tutorials:
type: seq
sequence:
- type: str
description: |
[Internal Only] List of required tutorials inside that topic
title:
type: str
description: |
Title of the external resource
link:
type: str
description: |
URL of the external resource
requirements:
type: seq
description: List of resources that the reader of the material should be familiar with before starting this training. The structure is identical to `follow_up_training`.
_examples:
- |
type: internal
topic_name: statistics
tutorials:
- age-prediction-with-ml
- |
type: external
title: The Unix Shell
link: "http://swcarpentry.github.io/shell-novice/"
- |
type: none
title: "A VM with at least 2 vCPUs and 4 GB RAM, preferably running Ubuntu 18.04 - 20.04."
sequence:
- type: map
required: true
mapping:
type:
type: str
required: true
enum:
- internal
- external
- none
description: |
the type of link
topic_name:
type: str
description: |
[Internal Only] The name of the topic
tutorials:
type: seq
sequence:
- type: str
description: |
[Internal Only] List of required tutorials inside that topic
title:
type: str
description: |
Title of the external resource
link:
type: str
description: |
URL of the external resource
copyright:
type: str
description: |
A copyright attribution string, as required by some licenses.
_examples:
- © Copyright 2021-2023 University of Technology Sydney, The University of Manchester UK and RO-Crate contributors
license:
type: str
description: |
An [SPDX](https://spdx.org/) identifier for the alternative license that is used for that particular material. This is **only** relevant for materials which have been imported from an external source and were originally licensed under another license. For new materials we strongly encourage contributors to not use this key as materials are CC-BY, by default.
_examples:
- MIT
- Apache-2.0
draft:
type: bool
description: |
`true` to hide your tutorial from the topic page (optional). This is useful if you need a tutorial for a workshop, but have not finished making it up to GTN standards.
og_image:
type: str
description: |
A custom image to show on the link preview in external applications (e.g. when the URL is pasted into Twitter)
pattern: /^\/.*/
_examples:
- /assets/images/gat.png
hands_on:
type: str
enum:
- external
description: |
This must be set to `external` to link to an external tutorial
hands_on_url:
type: str
description: |
link to the external tutorial
_examples:
- "https://docs.qiime2.org/jupyterbooks/cancer-microbiome-intervention-tutorial/index.html#"
answer_histories:
type: seq
_examples: |
- label: "UseGalaxy.eu"
history: https://humancellatlas.usegalaxy.eu/u/j.jakiela/h/generating-a-single-cell-matrix-using-alevin-3
- label: "Older Alevin version"
history: https://humancellatlas.usegalaxy.eu/u/wendi.bacon.training/h/cs1pre-processing-with-alevin---answer-key
date: 2024-01-01
sequence:
- type: map
mapping: &answer_histories
label:
type: str
required: true
history:
type: str
required: true
date:
type: date
pattern: /[0-9]{4,}-[0-9]{2}-[0-9]{2}/
input_histories:
type: seq
_examples: |
input_histories:
- label: "UseGalaxy.eu"
history: https://humancellatlas.usegalaxy.eu/u/wendi.bacon.training/h/cs1pre-processing-with-alevin---input-1
date: "2021-09-01"
sequence:
- type: map
mapping: *answer_histories
recordings:
type: seq
sequence:
- type: map
mapping:
captioners:
type: seq
sequence:
- type: str
enum:
- CONTRIBUTORS
speakers:
type: seq
sequence:
- type: str
enum:
- CONTRIBUTORS
bot-timestamp:
type: int
date:
type: str
required: true
pattern: /[0-9]{4}-[0-9]{2}-[0-9]{2}/
galaxy_version:
type: str
pattern: /[0-9]{2}\.[0-9]{1,2}/
length:
type: str
pattern: /^(?:([0-9]*)[Hh])*(?:([0-9]*)[Mm])*(?:([0-9.]*)[Ss])*$/
youtube_id:
type: str
pattern: /[A-Za-z0-9_-]{11}/
type:
type: str
archive-id:
type: str
description:
type: str
cyoa:
type: bool