Intermediate R course: Data handling and visualization with tidyverse and ggplot2
This course aims to provide intermediate notions of R programming to
people that already have basic experience with R. We will learn how to
efficiently manipulate different data structures, compute basic summary
statistics and visualize the results. This will allow you to learn how
to do some basic analysis and visualization of your own data by the end
of the course.
In this course we will combine explanations and examples with lots of
hands-on that will allow you to get familiar with basic programming
concepts and explore the different possibilities that R offers.
Your first Nextflow pipeline 2025
Learn how to write a Nextflow pipeline from scratch
Join our beginner-friendly course on Nextflow, the powerful workflow
management system for scalable and reproducible data analysis. This
course covers the fundamentals of Nextflow, from writing your first
pipeline to running it efficiently. You’ll learn how to be reproducible,
using containers and how to automate complex analyses, and optimize
workflows for high-performance computing (HPC).
Linux containers 2025
This course is designed to teach the basics of everyday Linux Containers
usage. Participants will learn what Linux Containers are and why they
are relevant to today's scientific practice. They will learn hands-on
Docker, the most popular container technology, and by the end of the
course, they should be able to build simple container images by
themselves. They will also be introduced to Singularity/Apptainer, a
more suitable container software for HPC environments.
Introduction to Nextflow 2025
The aim of this course is to give a general overview on Nextflow, focusing on the execution, configuration and deployment of local and publicly available pipelines.
Quick introduction to programming in R 250327
This course aims to provide basic notions of R programming to people that have NEVER worked with R and that want to learn how to use it for data analysis and visualization.
The Introduction to R course starts from the very basics of R language, all the way through learning how to create scripts, read and write files, manipulate different data structures and plot the results, which will allow you to learn how to do some basic analysis and visualization of your own data by the end of the course. In this course we will combine explanations and examples with lots of hands-on that will allow you to get familiar with basic programming concepts and explore the different possibilities that R offers.
Workflows for reproducible research 250317
This course is designed to teach the fundamental concepts and practical
guidelines for ensuring that everyday data generation and management
tasks fit into reproducible scientific workflows. The course emphasizes
the importance of open data formats, and recommends using Markdown for
documentation. Participants will also learn how to use Gitlab and
Github, two data collaboration platforms, for tracking and managing data
and documentation across different interfaces such as command line,
IDEs and web browser. Git's underlying version control capabilities will
be covered in detail during the hands-on sessions.
Introduction to Python 250310
The course will guide you to setup a development environment using VS Code together with Gitlab and creating a personal Git repository for the course. Afterwards, it will provide Python programming concepts, covering variables, functions, loops, lists, dictionaries, among others. During the process we will show you tools to help you keep the code clean and to enforce proper Python syntax and styling. Later, we will cover the basics of file handling in Python, gaining the ability to read/write files and to manipulate data. Finally, we will visualize data by using the packages matplotlib and seaborn by using practical examples.
Cluster conversion course - 250221
This course will give a quick revision of essential general concepts for using a cluster well followed by specific examples utilising slurm to run jobs on the cluster.
Complete cluster course - 250213
Welcome to the "Complete Cluster Course"!
This course will
consolidate material presented in the beginner cluster course and expand
on the concepts to be aware of when trying to optimize use of the
cluster. The main message of the course is to embrace the
parallelism available within the cluster and that pipelines should be
made from lots of small independent pieces that are spread throughout
the cluster rather than large monolithic long jobs that run on a single
node. The course will show why this should be done and how to achieve
it. Topics that are going to be addressed:
Video tour of the data centre
What is a cluster
Logging in
Queuing / the scheduler
What resource are available at the CRG cluster
Simple batch scripts - directives
Troubleshooting - what happened to my jobs?
Interactive sessions
Supercomputers, beowulf clusters, horizontal v vertical scaling
Hardware considerations
Multithreaded jobs, parallelism, Amdahl's Law
Job arrays
Job dependencies
Building a pipeline
Storage issues, treemap
Job stats, resource estimation
Scaling analysis
Linux terminal for beginners 250210
This course provides an introduction to using the linux terminal. It is suitable for complete beginners who have never used the command line before.
New cluster conversion course - 241213
This course will give a quick revision of essential general concepts for using a cluster well followed by specific examples utilising slurm to run jobs on the cluster.
New cluster conversion course 241120
This course will give a quick revision of essential general concepts for using a cluster well followed by specific examples utilising slurm to run jobs on the cluster.
Complete cluster course 241106
This course will consolidate material presented in the beginner cluster course and expand on the concepts to be aware of when trying to optimize use of the cluster.
Linux terminal for beginners 241104
This course provides an introduction to using the linux terminal. It is suitable for complete beginners who have never used the command line before.
New cluster conversion course 241014
This course will give a quick revision of essential general concepts for using a cluster well followed by specific examples utilising slurm to run jobs on the cluster.
New Cluster Conversion Course 30.09.2024
This course will give a quick revision of essential general concepts for using a cluster well followed by specific examples utilising slurm to run jobs on the cluster.
Linux Terminal for beginners 2024
This course provides an introduction to using the linux terminal. It is suitable for complete beginners who have never used the command line before.
Complete Cluster Course 2024
This course will consolidate material presented in the beginner cluster course and expand on the concepts to be aware of when trying to optimize use of the cluster.
NEW CLUSTER CONVERSION COURSE
This course will give a quick revision of essential general concepts for using a cluster well followed by specific examples utilising slurm to run jobs on the cluster.
Advanced Cluster Course 2024
This course will consolidate material presented in the beginner cluster course and expand on the concepts to be aware of when trying to optimize use of the cluster. The main message of the course is to embrace the parallelism available within the cluster and that pipelines should be made from lots of small independent pieces that are spread throughout the cluster rather than large monolithic long jobs that run on a single node. The course will show why this should be done and how to achieve it.