An Introduction to Omics

Dates

TBA

Times

TBA

Venue

Course will be held via Zoom and Moodle

Speakers

David McGuinness, Gavin Blackburn, Ronan Daly

Description

A course held over 5 days, aimed at familiarising participants with the basis and application of various omics disciplines: genomics, transcriptomics, proteomics, metabolomics, lipidomics, and bioinformatics. Each of the omics disciplines will be covered by a lecture and a practical bioinformatics session. By the end of the course users should understand, for each omics level: the basis of the discipline, the instrumentation used to generate high-throughput biological data, key applications, and how to visualise the resulting data using commonly used software packages. Participants will also be aware of how different large-scale data sets can be integrated in order to obtain better biological inference, and appreciate the nature of other modern challenges in bioinformatics.

Course fee

£340

Cancellation policy

A refund will be issued if a booking is cancelled more than one week prior to the workshop.

Target group

Research students and staff who wish to deepen their understanding of high throughput data generation and analysis.

Local Organiser

Rachael Munro, MVLS Shared Research Facilities

Registration and enquiries

Please provide a budget centre or PO number for the course fee and state which course you would like to register for.

Book a Course

Bioinformatics for Biologists

What is the format, when does it run?

The programme is self paced - you watch lectures in your own time and can begin tutorials on your own. However, the tutorials are supported every week via zoom drop-in clinics. At these, all day, weekly clinics there will be a team of demonstrators and bioinformaticians, who will answer any questions and support you with the tutorials. These run every Friday, 9:30am - 12:30pm & 1:30pm - 4:30pm on Zoom. You can use this in one of two ways:

  • Structured: Aim to complete two teaching sessions a week by setting Fridays aside. Come to the clinic on a Friday and complete your first session in the morning and the second in the afternoon, whilst on the zoom. This way, if you get stuck we are immediately there to help.
  • Unstructured: Work at your own pace throughout the week, and only come to drop-in clinic if you have specific questions or are stuck.

Description

Bioinformatics for Biologists is aimed at wet-lab biologists who have little or no previous experience of R or omics. It is 100% entry level - for beginners. It is highly practical and aims to equip wet-lab scientists with the skills and confidence to perform their own bioinformatic data analysis, for any dataset. The course is comprehensive, yet gently paced.  The full programme is broken down into five courses. By registering you automatically get access to all five courses, via a central Moodle site. Each course is roughly 1 week in length, and includes lectures, lecture recordings, easy to follow workbooks and cheat code.

  • Omic data analysis and visualisation using R
  • Further omics, statistics and clinical data in R
  • Single cell and spatial bioinformatics
  • Essential command line bioinformatics and genomics
  • Metagenomics

Course fee

£695

Target Group

Research students and staff who wish to deepen their understanding of high throughput data generation and analysis.

Local Organiser

John Cole, MVLS Shared Reseach Facilities

Registration and enquiries

Please register here: https://forms.office.com/r/yu0jhVi426

Image Analysis

NEW COURSE UNDER DEVELOPMENT

Unlock the power of quantitative image analysis with our comprehensive Image Analysis Course. Whether you're a postgraduate research student or a postdoctoral researcher, in this interactive course, you will learn to use different image analysis techniques and software packages (Fiji, QuPath, CellProfiller), enhancing your skills in microscopy and image analysis.

 

Register Interest

Introduction to Python for Biologists

Date

24 - 28 March 2025

Times

0930-1230 and 1330-1630

Venue

Zoom and Slack

Speaker

Martin Jones (contact me with any queries!)

Description

Python is a dynamic, readable language that is a popular platform for all types of bioinformatics work, from simple one-off scripts to large, complex software projects. This workshop is aimed at complete beginners and assumes no prior programming experience. It gives an overview of the language with an emphasis on practical problem solving, using examples and exercises drawn from various aspects of bioinformatics work. After completing the workshop, students should be in a position to (1) apply the skills they have learned to tackling problems in their own research and (2) continue their Python education in a self-directed way. All course materials (including copies of presentations, practical exercises, data files, and example scripts prepared by the instructing team) will be provided electronically to participants.


Target Group
This workshop is aimed at all researchers and technical workers with a background in biology who want to learn programming. The syllabus has been planned with complete beginners in mind; people with previous programming experience are welcome to attend as a refresher but may find the pace a bit slow. If in doubt, take a look at the detailed session content below or drop Martin Jones an email.

Students should have enough biological background to appreciate the examples and exercise problems (i.e., they should know about DNA and protein sequences, what translation is, and what introns and exons are). No previous programming experience or computer skills (beyond the ability to use a text editor) are necessary, but you'll need to have a laptop with Python installed.

Course Fee

£550

Cancellation policy

A refund will be issued if a booking is cancelled more than one week prior to the workshop.

Local Organiser

Rachael Munro, MVLS Shared Research Facilities

Registration and enquiries

Please provide a budget centre or PO number for the course fee and state which course you would like to register for.

 

Session details

### Session 1 : Introduction, environment and text manipulation

In this session I introduce the students to Python and explain what we expect them to get out of it and how learning to program can benefit their research. I explain the format of the course and take care of any housekeeping details (like coffee breaks and catering arrangements). I outline the edit-run-fix cycle of software development and talk about how to avoid common text editing errors. In this session, we also check that the computing infrastructure for the rest of the course is in place (e.g. making sure that everybody has an appropriate version of Python installed). Next, students learn to write very simple programs that produce output to the terminal, and in doing so become comfortable with editing and running Python code. This session also introduces many of the technical terms that we’ll rely on in future sessions. I run through some examples of tools for working with text and show how they work in the context of biological sequence manipulation. We also cover different types of errors and error messages, and learn how to go about fixing them methodically. Core concepts introduced: terminals, standard output, variables and naming, strings and characters, special characters, output formatting, statements, functions, methods, arguments, comments.

### Session 2 : Files, slices and user interfaces

I introduce this session by talking about the importance of files in bioinformatics pipelines and workflows, and we then explore the Python interfaces for reading from and writing to files. This involves introducing the idea of types and objects, and a bit of discussion about how Python interacts with the operating system. We will also take a look at Python's slice syntax, which will play an important role later in the course once we introduce data structures. The practical session is spent combining the techniques from the first session with the file IO tools to create basic file processing scripts. Core concepts introduced: objects and classes, paths and folders, relationships between variables and values, text and binary files, newlines.


### Session 3 : Lists and loops
In this session we'll start by thinking about the kinds of programs that we need to write for our research work. An important idea is that we want to write programs that can deal with arbitrary amounts of data. In order to do so, we need two things: a way of *storing* large collections of values, and a way of *processing* them. In Python, **lists** and **loops** do these jobs respectively. We'll go over the new syntax needed for each, and see how together they allow us to write programs that are much closer to being useful in the real world. This new syntax will allow us to see how lists, strings and files all share similar behaviour and how we can take advantage of that fact to write concise code. In the practical session we'll tackle some problems that involve larger data files. Core concepts introduced: lists and arrays, blocks and indentation, variable scoping, iteration and the iteration interface, ranges.

### Session 4 : conditions and flow control

We will start this session by using the idea of decision making as a way to introduce conditional tests, and outline the different building blocks of conditions before showing how conditions can be combined in an expressive way. We look at the different ways that we can use conditions to control program flow, and how we can structure conditions to keep programs readable. These simple ideas combine with the material we have already covered to allow us to write programs that can follow rules and enforce logic. Correspondingly, in the practical session we'll be able to attempt some complex filtering challenges on a structured CSV file. Core concepts introduced: Truth and falsehood, Boolean logic, identity and equality, evaluation of statements, branching.

### Session 5 : Organizing and structuring code
We'll start off by discussing functions that we’d like to see in Python before considering how we can add to our computational toolbox by creating our own. We examine the nuts and bolts of writing functions before looking at best practice ways of making them usable. We also look at a couple of advanced features of Python - named arguments and defaults. This session ends with a first look at the concepts behind automated testing, and the easiest way to get started with tests in Python. The practical session makes extensive use of automated testing, with students writing functions to pass a series of unit tests. Core concepts introduced: argument passing, encapsulation, data flow through a program, unit testing.

### Session 6 : The Python standard library and Regular expressions
We begin this sesion by browsing the documentation for the Python standard library and discussing how it fits in with the core parts of Python that we've already discussed, along with other libraries of code that students may have already encountered. To explore how Python's module system works in detail we will take a close look at one particular module: the one that deals with regular expressions. We'll see how a range of common problems in bioinformatics can be described in terms of pattern matching, and give an overview of Python's regex tools. We look at the building blocks of regular expressions themselves, and learn how they are a general solution to the problem of describing patterns in strings, before practising writing some specific examples of regular expressions. Core concepts introduced: domain-specific languages, modules and namespaces.

### Session 7 : Dictionaries

All of the data sets that we've considered so far in the course fit nicely into the list paradigm. In this session, it's time to introduce the second major data structure offered by Python: the dictionary. To do this, we'll look at a classic bioinformatics problem - kmer counting - and see how lists aren't a good fit before learning the new syntax that we need to make dictionaries. Comparing the list and dictionary solutions will make it clear when we should use each approach. We'll wrap up by discussing a few more examples of key-value data and see how the problem of storing them is a common one across bioinformatics and programming in general. In the practical session we will practice writing programs that create dictionaries, and ones that use dictionaries, including another classic bioinformatics problem: DNA to protein translation. Core concepts introduced: paired data types, hashing, key uniqueness, argument unpacking and tuples.

### Session 8 : File management and housekeeping scripts

This session concerns a part of the Python standard library that is boring but useful - the modules concerned with file manipulation. We will cover the tools that Python gives us to automate the common repetitive housekeeping operations that are part of many bioinformatics projects, but rarely make it into the final publication - things like renaming, moving and deleting files, creating folders, etc. The notebook part of this session is quite brief, giving us a generous amount of practical time to tackle an example of a bioinformatics data pre-processing problem: organizing a collection of DNA sequences by length. Although the problem can be stated very concisely, we'll quickly see that there are quite a few subtleties to it, giving us a chance to think about program state of multiple runs, processing multiple files, and creating multiple output files.

### Sessions 9 and 10: Workshop time

The last two sessions are set aside to use as workshop time. We will use these sessions for a number of different purposes depending on what the students find most useful:

  • we may go back and recap material from previous sessions.
  • we may discuss general topics that students are particularly interested in. In previous courses these have ranged from data visualization to Twitter text mining to building web interfaces for tools.
  • we may take a closer look at exercises to solutions from previous sessions.
  • students may use the time to apply what we've learned to their own datasets and research questions.

 

Book a Course

Machine Learning for Omics Data

NEW COURSE UNDER DEVELOPMENT

Learn the hidden patterns in your omics data and how to predict the future. Students on this course will learn basic machine learning methods in R, including unsupervised and supervised learning and how to interpret algorithm output robustly. 

Register Interest

Metabolomics Data Analysis Workshop

Metabolomics experiments can provide a wealth of information and answers to complex biological questions. The key to getting the best out of these experiments is an understanding of how the instruments used to analyse these samples work and how this information is used to develop the most appropriate analytical pipeline for your study. This course will provide an introduction to metabolomics data analysis, using the shared research facilities online data processing tool, focussed on interpreting the data using both biology and appropriate statistics, how study design can affect the outcome of the analysis, and how to include meta-data analysis to provide a complete picture of your data.

 

Intended learning outcomes:

  1. To investigate the varied possibilities of metabolomics
  2. To learn the principals of data analysis in metabolomics
  3. To appreciate the checks and controls required to design a good metabolomics analysis pipeline across different software tools
  4. Statistical concepts in metabolomics
  5. To gain an understanding of what evidence is required to identify a metabolite in metabolomics
  6. To understand how to use prior knowledge in your system as well as biochemistry to interpret your data set

 

Register Interest

Protein Production and Purification Workshop

Date

1 - 4 September 2025

Venue

Joseph Black Building, University of Glasgow

Trainer

Susan Kitson, Mads Gabrielsen

Description

In this hands-on workshop, you will work on the expression and purification of a protein in E. coli. You will begin by designing constructs to optimise the chances of a successful purification and learning about strategies for protein overexpression in a bacterial system. You will acquire an understanding of the fundamental principles of various chromatography techniques and gain practical experience using AKTA systems for chromatography. Finally, you will purify the protein and use techniques as SDS-PAGE and spectrophotometry to analyse the protein and measure its yield.

Target Group

Those working on a MSc, PhD or post-doctoral research project that involves protein production. Technicians and technical specialists who would like to gain more of an understanding of this area, and who wants to expand or solidify their skill base. Anyone who would like to add these skills to their repertoire.

Course Fee

£700

Registration and enquiries

Please be aware that as this is hands-on practical workshop spaces are very limited.

Please provide a budget centre or PO number for the course fee and state which course you would like to register for.

Book a Course