 Welcome to this brief introduction to the UC color tool. I've already talked a lot about how you can visualize omics data, especially on protein networks to produce figures like this that show how proteins are regulated in an experiment in the context of an interaction network. However, this approach really only works for one-dimensional data such as lock-fold change values which you can encode using a linear color gradient. So what do you do if you have high-dimensional data, for example coming from single-cell RNA-seq experiments or from microbiome composition studies? Well, that is precisely what the UC tool is designed to address. The idea is simple. You start with high-dimensional data and you use dimensionality reduction to turn it into three dimensions while preserving distances to the extent possible. The result is a point cloud looking, for example, like this. You then fit that into a color space in which color similarity approximates distance. And that way you encode the data as colors. If you show it on the point cloud, it looks like this. Each point has a color that represents its position and the color can therefore be used to show this data in the context of some other data. The method has two steps. The first is dimensionality reduction, where the goal is to preserve the global structure of the data. We use UMAP for this, but if you don't like UMAP, it's trivial to replace it with any dimensionality reduction method that you prefer. The second step is color encoding. The goal here is that perceived color similarity should represent the distances. And for this reason you want to use a so-called perceptually uniform color space and we're using CLAP. I've covered this topic in a lot more detail in this presentation linked in the corner. If you look at the CLAP color space and show the displayable sRGB colors, you get a polygon like this. We thus need to fit the points into this polygon, which is an optimization problem in seven variables. We have three dimensions of translation, three rotation axes, and finally one global scaling parameter. And the optimization criterion is to maximize the size of the cloud while keeping the points within the polygon. To make this clearer, let's look at a use case. We start from the TerraOcean data, which is a microbiome study done by a boat sailing around the world. We have microbiome composition data from ocean surface water samples from a large number of different sampling stations around the world. We want to encode the composition as colors and show them on the world map. As you can hopefully see, there are clear tendencies that samples close to each other have similar colors. Samples from the Indian Ocean, for example, tend to be yellow, whereas samples from the Mediterranean Sea are blue, and samples from the North Atlantic and the Southern Ocean are very dark. However, it turns out that it's even better than that. The colors are interpretable. We can map the same colors onto scatter plots looking at how the C-Lab axes correlate with metadata measured for the same samples. If we do this, we'll see that the B-Star axes, which is the dimension representing blue to yellow colors, correlate positively with the water temperature. That is, yellowish samples represent warm water, whereas blueish samples are colder waters. Similarly, we have a negative correlation between the L-Star axes and the oxygen content of the water. So, very light samples have low oxygen concentration. UC is available in a couple of different ways. Firstly, you can use it as a web resource at uc.jensenlab.org, thus not requiring you to install any code. However, you can also install it as an R package directly from CRAN, which then allows you to use any dimensionality reduction method you prefer to use. That's all I wanted to say about the UC tool. I hope you'll find it useful. If you want to learn more about color representations, take a look at this presentation next. Thanks for your attention.