 Thank you everybody for taking some time tonight. What we are going to be covering is two talks, one given by Dawn, one given by Ina. We're going to start with an introduction to biomedical data set. We're going to go through network pharmacology and some just basic concepts of what the data looks like and a little bit of intention why we're doing what we're doing. Then we're going to get into the weeds on one specific type of clustering algorithm and that's what Ina will go through. The idea here is that we are at a part of an analysis, so just a little bit of background. We have a working group called the Computational Biology Working Group. It's part of the DMV Petri dish and right now we're researching chemotherapies, potential chemotherapies for cancers and we have a way of kind of ranking possible compounds for how effective they might be. We're at a part of the analysis where we're trying to go into more unknown compounds, compounds we don't always have full information about or at least we're looking at these compounds in a really big data approach. One of the concepts that has started to come up is network pharmacology, and it's this concept that we are going to be able to approach compounds that we either don't know much about or wish to know more about, and putting it in the context of a biochemical pathway of signaling molecules. So you have signals that kind of propagate from the outside of the cell into the inner of the cell, kind of changing things like cell growth, cell death, those kinds of things. And we're trying to map that out. And so there are these new data sets that are going to help us identify for a given compound, where does it fit? And also how is it that we might be able to infer things about it based on its relationship in some known signaling cascades. So with that, I'll hand it over to Don. Don, if you could, I guess, introduce yourself and then get into your topic. Hey, I'm Don. I've worked with ENA on a couple of things related to mocha makers in the DMV Petri dish. Part of what we worked on was creating a knowledge graph using Neo4j. was creating a knowledge graph using Neo4j. And so what we're talking about today was kind of some ahas and a pivot that we did based on sort of the requirement that when you create an application, it needs to be usable for a core audience. And also when we dove deeper into screening that, you know, there is a significant amount of functionality in the product and bringing together also other data sets that we'd also have started to look at. So, just a sec. Well, yeah, okay. Okay. So, the intro, I've got to sort to navigate some stuff around my screen here. So, yeah, so as I was indicating that, you know, once we dove in, one of the things that came clear is that, you know, we need to focus on tools that really help to make this biological data accessible to the core audience and core state, which is the cellular biologists, also known as Paul in our group. So, you know, the initial challenge that we definitely experienced was, you know, the challenge of finding quality data sources and tools to simplify the research and the handling of what is very complex multi-omics data. So to fill in some gaps, I actually started to use String the wrong way. It's a valuable tool. It has great data, but I was looking at it from a back-end sort of REST API instead of the value of how well they had aggregated that functionality within the application. And so, you know, quick sort of run through today's agenda. So I'm going to start with a very quick deep dive of string and stitch, you know, and how they can help visualize the complex interactions. And then I'll do a very quick sort of intro of what MCL, the specific type of clustering, looks like in string before handing it over to Ina. And then at the tail end, to, you know, and then at the tail end, I'll sort of take you through a somewhat slower walkthrough of, you know, how stitch and string really helped me understand, you know, complex pathways. In this case, it was the non-small cell lung cancer pathway that's part of, you know, our current efforts in the broader group. So, you know, anything you'd like to say before I get into StreamStitch? No, no, please go ahead. The less I ramble, the better this will be for everybody. No, I'll introduce myself later. You go on. Okay, awesome. So in terms of the two tools, like String, and they were both developed by a similar group of individuals. It wasn't necessarily 100% the same team, but there was a significant amount of overlap. So it'll be somewhat transparent in some cases, you know, whether I'm in string or stitch. So I wanted to mention it. So string specialty is like protein to protein interactions. And stitch sort of takes the aspect of, you know, mapping compounds to target networks. But, you know, it does take advantage of some of the patterns already that it built into strength. So, you know, both tools, you know, do help biologists visualize, you know, complex interactions. You know, part of my confirmation of that, beyond just my intuition, was Paul's enthusiastic response. And if he's available available maybe he can provide his his two bits later on but it is a powerful tool and yeah so as I said it's like the important thing to me is it's all about making biological data more intuitive for biologists and providing insights in disease mechanisms and therapeutic targets. So one of the key ways it does this kind of highly overlaps with what I thought was really cool and what I wanted to dive into sooner rather than later was like the aspect of using generative AI to take patterns and, you know, human in the loop with a rag to, you know, provide better contextual information, you know, tying solid data to, you know, peer-reviewed empirical studies. you know peer-reviewed empirical studies and so it's like really I think that that's what string has done you know and it definitely raises the bar and I'm not sure about the the full qualification it's like free to use but whether it's truly open source I'm not sure but sort of indicates that you know, if people are looking to implement similar patterns and it is open source, I think it would be a great opportunity to contribute to what is an awesome project that already, you know, is far along in terms of accelerating research. And I think the benefit by truly bringing it into the generative AI era in terms of it does great and powerful things in terms of knowledge graphs, which in many respects are more powerful than RAG, but I also noticed that what it does is it takes that very valuable context in terms of proven research in terms of both helping to establish what are the specific proteins, what are the specific compounds, etc., that are holding to the graph. So, you know, it's clear that I'm the number one fanboy, but it is very powerful and it is awesome. Okay, so the quick whirlwind tour at this point. Later on I'll do a more thorough sort of review, kind of focused on the Wookiee pathway. But what I thought would be helpful is just a quick hands-on demo. And it's very aligned with how I got up to speed in terms of using it is the key sort of pain point that we had at the time. We had a good sort of source of data that mapped compounds to proteins. And that was through the guided pharmacology database, but what we were missing, and Paul, and like our cellular biologist was telling us that we really needed was the essential sort of, what's the context, what's the protein to protein interactions, the pathways, et cetera. So this was what kind of brought me to String. So I'm just going to search for small cell lung cancer, and this kind of gets into sort of its flexible sort of search capabilities. So it's going to be smart enough to also pull up non-small cell lung cancer. And this kind of gets into sort of the human in the loop aspect in terms of the solution that I thought was valuable. And initially it was a frustration because I was like thinking like an engineer, an architect, I wanted a clear API that would just allow me to search based on specific criteria. But, you know, based on the synonyms in the industry, based on sort of the aspect of, you know, you've got genes and isoforms, et cetera, that, you know, it is quasi-matching. So this sort of, what's the human, you know, the cellular biologists sort of choose what pathway they want to focus on. So in this case, to focus on. So in this case, you know, they went to the key pathways in the industry, one that's older and maybe more proven in some respects is CAG, but Wiki pathways, there were some some specific aspects there that I was interested in. So that's what we'll focus on. Okay, so this, and I'm sorry that my resolution is so low that it's kind of wonky, but yeah, so this brings up the, what is the network of proteins, because again, this is string and not stitch, and it focuses on protein to protein interactions. So this is the, in this context, it's the genes slash proteins in the context of this network. And I think currently now this is just direct proteins. I'm looking at a specific parameter here that we'll come back to in greater detail later. But so this is our network. So given this context, what I'll do is just here showcase some of the, you know, the different viewers or specific areas that you can kind of focus in on. So, as I mentioned, it does do significant grounding in terms of research. So Guide to Pharmacology was great in terms of it pulled certain content into things like comments. It definitely had references to specific PubMed articles or references, specific PubMed articles or references, but this took it a step further in terms of leveraging it for context for the results. And of course, since this is a live demo, it's sitting there, it's thinking, it's got to think. So what I shall do in terms of the sake of time, it could be a connection on my side or other factors. Oh, there it is. And so this is the sort of set of PubMed article IDs that it came back with. The focus is based on the career criteria. It's focused on Homo sapiens, but this is kind of the context that it was using to build the network. And Don, could you just plus plus the zoom a little bit, just a little bit bigger? Yeah, yeah, yeah, yeah, that's fine. Well, part of it here is I'm just trying to step through key parts of it and I need to get back to the graph pretty quick. So yeah, some of the other viewers here that provide value that are sort of simple to navigate is that this one is the context of like, I think it was in databases they call it, but what this is, is these are the pathways that, and it limits it to, you know, 10 items based on what it displays, but it gives you an idea of, you know, within these sets of compounds, what are some of the pathways that, where there's overlap or where these same proteins come up. So that's in terms of those are the key areas there. And yeah, so one of the other aspects that you can do because there is a lot of information that comes up if there's a specific aspect that, there is a lot of information that comes up if there's a specific aspect that, you know, whether it's a, like here in this case, we were looking specifically for non-small lung cancer, but let's say that you were looking at a, like a, you know, the cell life cycle or a P53 pathway, and you wanted to focus on an overlap, this is a key area where you could do it. And then what it would do is up in the graph area, it would highlight those specific nodes. And so in terms of bringing information up together, you know, EGFR, that is a key entry point that is often sort of compromised in terms of cancer pathways, particularly in non-small cell lung cancer. So, you know, it provides, you know, it brings together a lot of information. This is sort of a great summary and explaining its role and its purpose. So a couple of other things, of course, we can showcase because part of what I'm trying to do here is what's the value of you know string and stitch in terms of bringing making things more accessible accessible cellular biologists site escape is a key tool that is used in the industry so with a simple click of the button what it will do is is it will send it over. And yeah. So I'm not going to zoom in here, but it sent over. We're focused on your browser window. We're not seeing your Cytoscape. Okay. Let's see if I have it to the perfect resolution. I can do that. Let me make sure. Anybody have a question or some good jokes while we wait for this to come up? Okay. Yeah. Yeah. So this is, again, a great integration point. There are a number of things that you can do once you get the data into Cytoscape. We have another person in the community that's doing a deeper dive into Cytoscape. We'll set up another session for her to take us through that info. It's just a great convergence in showcasing the ability to integrate key data. Let's read about the infinity effect. Okay, are you back looking at the slide deck? Yes. Yes. Okay, cool. All right. The other, one of the other quick things here before I do some quick tour for Stitch is that it's the capability out of the box to do specific types of clustering. If you don't mind, it's washed out because we're doing the full desktop mode. Maybe switching back to browser specific mode will bring that contrast back. it'll bring that contrast back. Okay. All righty. Let's see. Okay. Okay. Can you see my browser again? Yes. Is it better in terms of clarity? Okay. So this is going to start to tie over into the content and deep dive that is going to take us through. But it's the out of the box. It provides capability in terms of clustering. And it's going to go into some of the aspects of maybe what's missing and what a custom solution can help build. But one of the aspects that it does do is that and this is mcl type clustering but um it does out of the box sort of allow you to see what are some of the key groupings that um we're seeing so there there are and here it's focusing on you know clusters based on, there's a core part of cluster, like non-small cell lung cancer. One of the ways to look at that is EGFR is the entry point, but there's also a specific retinoic acid pathway as well, particularly in the wiki pathways version. Let's see what it does. KME is clustering. I think I might need to bump it up a bit, but yeah. So here it's focusing more on some of FHIT is, you know, in the case of a protein that is a key starting point. But this kind of goes to what I was talking about, that, you know, in the case of a protein, that is a key starting point. But this kind of goes to what I was talking about, that, you know, that when you're doing clustering, there's certain techniques that you can do to find certain, you know, what's the magic number of clusters that you want to focus on to prove the results. So, yeah. clusters that you want to focus on to prove the results. So yeah, so the quick sort of whirlwind tourist ditch in my context for kind of digging into this was that, you know, we had a challenge of trying to figure out what the pathways were and what the, you know, key sort of entry points of the pathway where certain pathways can be compromised. So one of the ways that, you know, the deeper dive I'll do later that I focused on, you know, on zoom in a little bit more is the aspect of initially it was like, you know, what are the key activating mutations and inactivating mutations in the context of non-small cell lung cancer. And, you know, in terms of, it certainly helped me in terms of breaking down the problem for getting into some of the details, specific pathways, but it also helped in terms of, you know, maybe the LLM that I was using in essence as doing peer programming and almost like a lab partner in terms of trying to attack, in terms of understanding, you know, and building up the notebook to kind of prove out certain aspects. But that's kind of a fundamental aspect so here that the key thought and what we're going to drill in next is you know the EGFR. I think that's what it's set up here. Yep so EGFR is the identifier to sort of drive the construction of the network. So the stitch in a similar fashion, and this is, you know, based on, you know, what I seeded in terms of the URL. So in certain respects, I bypassed the initial search screen to highlight EGFR, what is more valuable. I'll go back out and sort of manually do it. So here, what I'm gonna do is sort of the same thing that I sort of embedded in the URL. It wants me to pick EGFR first. Okay. It wants me to pick EGFR first. Okay. All right, so yeah, so this takes me back to the same sort of landing page where it's letting me pick the context for EGFR. And then it's going to create a graph. And so currently, in terms of what I'm displaying here, what it's showing is that the relationship, in terms of what's showing up in the graph, is it's determined by binding affinity. You can also do that sort of similar to, this is the type of relationship I was using in string, which is based on evidence. So it's like the type of interaction evidence. So what are the type of interactions that were captured from various sources, both data and research, in essence, the vetted papers. But for the context of this, I'm just gonna go to binding affinity. The other sort of quick aspect here that I wanted to show is that it's not as fully featured in terms of the, in essence, the nature of the enrichment it provides. But, you know, it does provide the key ability to bring in, you know, it's the database knowledge that correlates to it. I think we're having a similar sort of performance issue. And there's like a long story there that I'm going to avoid. And there's like a long story there that I'm going to avoid, but yeah, it's a funding issue more so with stitch than string. And I would say if people find great value in these tools, contribute to the open source community and put a quarter in the parking meter or invest in the value of the tool so okay it's yeah so I've noticed this more so in stitch and I also think that it varies greatly if it's when I'm doing at the end of the day when which is typical in the day in a US timeframe, performance is better, but when there's heavier workload, I think that that's when performance suffers. So, yeah. So, in terms of analysis, that there are some issues here in terms of pulling in the more fully fledged data, in essence, to kind of filter, you know, based on various pathways, et cetera essence to kind of filter you know based on various pathways etc to kind of zoom in and sort of pick an overlap of um you know this is a specific protein you know the the search screen sort of capabilities in stitch are different it doesn't have that path pathway search capability at the start but what you can do here and there's not a performance issue, is sort of overlay the concept of the non-small cell lung cancer pathway. And then begin to highlight it. But in terms of this context, there isn't a huge amount of data that's returned. So it's not that painful. So it's not that painful. So in terms of differences, it doesn't have sort of, it's got an ability to download data for contacts that could then be used for tools, like perhaps it could be used for, you know, things like doing cluster analysis, et cetera, but it doesn't have sort of the integration and site escape that we saw in string so i just want to point that out that it is a difference and there's also a missing cluster button so yeah so anyway that's that's kind of that's the quick whirlwind tour and sort of the point that i was going to hand it over to you know I was going to hand it over to Nina. Yeah, so the challenges with both string and stitch to a certain extent is that it's not just isoforms, but it's like there is the aspect of difference in layers of granularity. There's a large number of synonyms and in some context and this was like in the context of what i was looking at in terms of another data search which was by biogrid um and i hit um you know initially some challenges with trying to sort of map those to pathways and related to proteins. But, you know, it was solvable. But this is something that, you know, is still challenging. Okay. I'm not going to go into the detail of clustering. With that said, Yina know over to you thank you don okay Okay, let's hope that it will load. Am I doing something wrong? Okay, yeah, perfect. Okay, so hello, everyone. My name is Ina. I have recently joined this work group working with Don on network pharmacology and covering ontologies and pathways and using Neo4j and various tools. By day, I'm a software developer and by Sunday, I'm part of this working group. And today I'm going to talk about the clustering in general, more of the how rather than why. And we will also look at the K-means algorithm as a deep dive. So clustering, well, the general purpose of it is, of course, to group the data into clusters, as the name suggests, and it's critical for analyzing large data sets. It can help cover various patterns and relationships. It can also simplify data for analysis and visualization. And of course, it can help with predictions and facilitate decision making. And there are several, well, there are numerous algorithms that could be used. I guess K-Means is one of the most widespread. It's a centroid-based algorithm that minimizes the distance between the data points and the center of their assigned cluster. between the data points and the center of their assigned cluster. And there is also an MCL algorithm that StreamDB suggests, for example. It's a graph-based clustering algorithm that is specifically designed for network data. And it operates by simulating random walks within the network. In our case, it could be used for, say, protein-protein interaction networks. And it reinforces the denser regions, and this leads to identifying of the clusters. So we're going to talk about the clustering in general. This is like a short agenda. And then we'll look at the k-means algorithm. We'll talk about how we initialize the centroids and how we will talk about the cost function. And the most important thing is probably choosing the right number of clusters because K-means is the algorithm that uses predefined number of clusters. We cannot just randomly select one. And then as a summary, we will talk about when to use it and when not to use it. So clustering is a technique, unsupervised machine learning technique, that groups related or similar objects into clusters. And it doesn't require data labeling. So for example, if we have a supervised learning, machine learning technique that has examples labeled, this kind of grouping would be called classification. And the standard process of clustering includes, we can say that it includes four steps. So the first one would be to extract and select the most representative features from the original data set. Then we would proceed by designing the clustering algorithm or, well, selecting the most appropriate one according to the characteristics of the problem. characteristics of the problem. We would evaluate the result as our third step and we will judge the validity of algorithm. And finally, we would do result explanation, meaning that we would give a practical explanation for the clustering results that we see. We can try to cluster numerical data or categorical data. So for numerical quantitative data, we use distance to measure. We use distance as a measurement. We can use various types of distance. You've been in Manhattan. I will not go into detail on those. And then for qualitative data, we use similarity as the measurement. We can divide various clustering algorithms by dimensions. So this is like a little tree showing what those dimensions can be. And talking about the k-means algorithm, so if we look at the partition underlying principles and characteristics of it, it's a partition-based. So it separates data points that we have into various parts. By the membership type, it's an exclusive cluster membership algorithm because each data point can be assigned only to one cluster or cluster to each data point. So we cannot have two clusters assigned to the same data point. It uses hard clustering, and we need to specify the number of clusters beforehand. So we need to know that. And it works in various areas, and it also works with different types of datasets. So we don't really care about the size, and there are several modifications to K-means algorithm that were designed over years from 1960 that can help us work with all the sizes of the datasets that we have. And I included this table just for reference. It's very hand-wavy, but just talking about the partition-based algorithms in general and K-means in particular, there are several benefits and limitations that we need to know before we select it. So the benefits would be the cost efficiency. It really uses, like, it has low time complexity and computation complexity. So it's pretty good if you have a large dataset, basically. And it's relatively simple to implement. You will see that it only has three steps. But of course it has the limitations that can be well overcome. But the algorithm by itself is pretty sensitive to outliers. It can also be drawn to local optimal. We'll see how we can address that. And then it requires the predefined number of clusters, which we've already mentioned, hence the K in the K-means. So yeah, the algorithm itself, as I said, only has three steps. So given a set of data points, we start by initializing the centroids. So when we do that, we randomly select k centroids from the data points, and then we assign data points to the nearest centroid. centroid. So in this step of k-means, the algorithm assigns each training example to the nearest centroid based on the current centroid position. And it then pretty much returns, it calculates the distance from the data points to each centroid and selects the centroid with the smallest distance. We then go on and update centroids. So in this phase, centroids are updated by recomputing the means of the points assigned to each centroid. And you can see that at the graph. So my dotted lines, red ones that I drew there, this would be the updated centroid after we assigned our data points to the initial set of centroids, those little red crosses you see, right? So after recomputing the distance, our new centroid, our new point of mean would be here, where this red cross is. And after that, we just go on and repeat the assignment and updating steps, so steps two and three, until the centroids no longer move. So when our centroidroid locations don't change, we just stop there. So that's it, right? So we should mention as well that the k-means algorithm, it always converges. So it will always have a finite set of centroids. But the results of how well it's been done can depend on the initial centroid positions, hence drawing to the local minima. Okay, so we start by initializing centroroid randomly. How do we do that? Well, one way is just to select some points, any points, which is pretty bad idea. Well, not bad, but like the more efficient way of doing that is just speaking randomly k training examples from our existing data set. And we do that by just shuffling the initial data points and selecting the first k examples. I should say that there is a constraint that the number of clusters has to be lower than the number of examples. So we need to know that. And we also need to know that there is a chance that the algorithm may get stuck in local minimum. It depends on, well, the initial points of the centroids. And it can result in suboptimal clustering. But there is a way to minimize this effect, and it can be minimized by running K-means algorithm multiple times. And we use different random initializations of the points. So we can do that, well, depending on how much precision we want, we can do that from 50 to 1,000 times. And then we choose the best local optimum by computing the cost function. So it's also called distortion for each solution, and we select the lowest distortion. This is the cost function that we use to evaluate the best solution. And we sum all the square distances between the points and then they're assigned centroids. So we just deduct x from x, we deduct m which is a squared Euclidean distance between the point and its centroid. And then we sum that and the solution with the lowest cost wins. We said that we need to know the number of clusters in advance, but how do we do that? So selecting the right value can be ambiguous. And just by looking at the data, we may see a different number of clusters depending on the data set. And you see at the graph that, well, how many clusters do we have there? It can be four, it can be three. It depends on the way you look at it. There are several methods we could use. and I will talk about the elbow method in a second, but we should also know that choosing the right number of clusters really depends on what makes sense for our specific problem at hand. So if we know how many we have just based on the problem we are trying to solve, we should go on and do just that. But if we need some method to choose or to start with, say, there is an ELBO method. It's called ELBO because on the graph, we're looking for this ELBO point where the data stops changing rapidly. And this method helps determine the optimal number of clusters by assessing how well the cluster fit the data. It plots the number of squared distances. It's also called inertia, which measures how far data points are from the centroid of their assigned cluster. And the lower inertia means that better cluster, well, it means better clustering as points are closer to their cluster center. Yeah, and the goal, as I mentioned, is to find this elbow point where the curve bends. And this would indicate the number of clusters. And in this case, beyond this point, adding more clusters doesn't significantly reduce the inertia. So we wouldn't have much improvement by just increasing the number of clusters. And this prevents overfitting and overclustering because, well, of course, the more clusters we would select, the better cost value we would receive, but we really don't wanna do that, right? We do not want to assign each data point to one, I mean, we don't want each cluster to have one single data point assigned to it. So yeah, it's a visual way to balance fit and simplicity. And well, in our example, three would be the optimal number of clusters we want to use. And I guess finally, we can summarize the usage of K-means algorithm. And we can say that the best way to use this algorithm would be when we have large datasets, because we mentioned the efficiency and how it can compute the groups in a relatively low time and it does it efficiently. It also can be used with the numeric data, less so with the categorical data. But again, there are ways to adapt K-means algorithm to use it with categorical data. We can use that, of course, if we have the clear clusters, so when the data naturally forms distinct non-overlapping clusters, and or when we know the cluster number in advance, or if we used the method to identify the cluster number. When not to use it. So if we cannot when not to use it. So if we cannot know the exact number of clusters in advance, and we have no way of estimating that. We talked how it's kind of sensitive to outliers, so there are algorithms that better deal with outliers. For example, like dbscan, the one that is also present in string. And yeah, k-means is designed to work with numerical data primarily. So when we have categorical data, it may not be optimal, but there are also several ways of how we can adapt K-means to working with categorical data. So for example, if we have some categories, I don't know, red, blue, and green. We can assign them to numerical values. And yeah, you use that basically to adapt. Right? So, this is the short overview of the k-means algorithm. And I guess that's it on my side. I'll pass it on to Don to present the case study on applying string to NC and SCLS. Thank you. Thank you. That was a great intro to clustering, and you made it accessible and easy to understand. Thank you. Thank you. Okay. Let me know when you can see my browser. Looks good? Yeah. Okay. So what I'm going to do is I'm going to walk through just a quick case study. So the context for this was trying to make things real and sort of go parallel to some of the research that was being done by Matt and Paul. to understand sort of the out-of-the-box solutions that are already providing, you know, very usable solutions based on graphs. So that's kind of, that's the context. And so the starting point here is, let me break out of full screen mode. So, yeah, I have to admit there was a bit of, you know, an initial sort of learning overload in terms of trying to figure out in terms of what's the best starting point to do it. This is like wiki pathways. For some reason, it's not liking the resolution and kind of disappointing the bad non-ideal form but anyway long story short this is kind of back to the initial strategy for analysis that i ended up choosing with wiki pathways was that you know what it had well defined and what it had, it was very clear about I think this is better. Yeah. Okay. We'll do that other one because there are important things in terms of displaying here. Like, yeah. So the, some of the core aspects that they highlight the most readily is, you know, mutations that occur in non-small lung cancer. There are some that are activating where, you know, things get out of control. And then you've got specific cases where, you know, it inactivates key items. And where that becomes most relevant is for the tumor suppressing genes so in case of like TP 53 and RRB so TP 53 is down here RRB is here so I won't focus in on this anymore just based on size, but what I will say is that there is a readme file in the GitHub repository where I've highlighted it. There's a link here to the pathways with the diagram that I'm showing that you can see on your own desktop. And aside from some of the specific queries that I go through, yeah. So I did go through each of the pathways and the readme and key components. And then also sort of there's some tables here that I created as well that I'm not going to go into in terms of detail but I'll just pull them up so that you can see them you know highlighting the frequent mutations in sort of the in terms of relative frequency, the effect, the consequence, you know, coming back and focusing on the key signaling pathways and also sort of grouping sort of the, in terms of each data set, they have a specific set of terminology and a lot of the key variants was around like you know talking about keg or wiki pathways was around what they called out and used for gene slash protein names so kind of a starting point was to group based on the data model for wiki pathways you know what were the specific genes based on category so growth factors receptors kinases gtpases tumor suppressors etc so i'm not going to read it through literally but that's um like to me in terms of framing the problem and the approaches, it was very helpful. Also, what I liked in terms of this was stuff that I sort of extracted from, you know, actually the diagram for the wiki pathways was, you know, the specific compounds that they called it as being particularly effective for, you know, a specific type of therapy. And, you know, like NK inhibitors in terms of things that are promoted in terms of behavior under cancer. And then, yeah. So that's a quick list and with that being said what I'll do is I'll take it through in terms of the context of some specific items in terms of flow you know it always works so much better and different when you're in a typical resolution. Let me sort of find this. So, yeah. So what we'll do in terms of context is that we'll look at one of the key activating mutations in, because it's, like I guess we'll look at two we'll look at because they're the most common um we'll look at egfr and we'll look at k-rouse you know they get the the most most bad press when it comes to non-small cell lung cancer and then we'll look at some of the key inactivating ones. So if you're using and driving this off of the GitHub site, I didn't create it as a link but I created it so it's easy to copy. And so what this will do is that it will launch Stitch with some key context. And again, part of this was what my initial thought was. I was trying to build an application or, in essence, an API-driven application that I would see as sort of I was expecting to behave more like a pure rest API, but regardless of what I did with Stitch, it always had this sort of screen in between where it was expecting the human in the link to provide an answer and sort of confirm the proteins. And so there are a number of, I have a follow-up conversation that I'm going to have with Paul based on my improved understanding to confirm that it's right. But in many cases that, you know, you'll have a protein name in mind, but based on the context, there may be other proteins that are listed that sort of better sort of describe it in some of the cases it's like an isoform aspect or in other cases it's sort of a scenario where you may be saying eGFR but you're more interested in a pathway so So you may take different points in the pathway. So it's like, in this case, the fuzzy logic can be helpful. So yeah, so EGFR, it's, yeah, so it's going to come up. And based on, you know, specific medications that are, you know, and again, this is going to be stuff that's embedded based on papers. What are the effective compounds to sort of address these situations? It may not work in terms of analysis based on yeah so when it is working um when the load isn't too high the aspect is sort of overlaying sort of what's your um disease contacts what's your pathway contacts from like keg or um wiki pathways can be picked. But even without that, even the fact that it's not working, it gives you sort of embedded sort of feedback in terms of effective compounds for situations with the EGFRG. with the EGFRG. Any questions as I sort of navigate to the next one? So, Paul, Matt, what's your thought in terms of compounds that are listed? Are they appropriate compounds? Are they kind of vetted based on your research? Well, what I'll say is that what we were seeing on the last slide was a network, and the connection showed the relationship. You may recall there were green connections and other color connections. The greens were the compounds, and the others were protein interactions. Well, yeah. So this is a combination in terms of this is Stitch. It will show protein to protein interactions, but it also overlays interactions with compounds. And so like, for example, this is the KRAS gene that it's focused on. So, in terms of effective compounds for addressing KRAS-based mutations, is this sort of similar to, or maybe bring up some new options in terms of effective treatments? Well, this is important. This is answering the question, which compounds are directly known to target KRAS, which is an important question. Now, in cancer therapy, KRAS would be the most amazing thing to target. You have all of these things downstream of KRAS that are messed up. But I think these compounds are probably more experimental than common. Paul, my understanding is that we don't have a lot of practical compounds that go after KRAS. Is that right? There's not very many practical ones, and there's none approved. There's a couple that are in the research phase, but none approved. I think you get a better reading on compounds by going back to the previous view, which view which focused on EGRF. Those compounds were easier to understand. And yeah, that one. The other thing that I will highlight here and it has to do with some of the settings that I defaulted here and it has to do with some of the settings that I defaulted based on the queries because I was it was kind of the aspect of trying to cast a wide net to see if it could find related compounds and related compounds and pathways because that you know in terms of initial discussions that was a pain point so in terms of focusing in on things that are direct uh versus indirect this is kind of where you know the the aspect of how many layers deep potentially do you want to go and so it's like it's once you get to like 20 that you see options. And then there's the aspect in terms of direct interactors versus, you know, second level interactors and potential sort of compounds. So that's kind of, that's what you can do with the tool. And it is, it's that fuzzy logic that until you get, you know, a smart function calling based LLM that can provide, you know, sort of guide behavior. You'll always need the human in the loop to sort of guide and provide more effective research. So this is, yeah. Well, that helps because one of the things that came up on, not this slide, but two before, to before was a compound called cisplatin, which is in fact used very widely in lung cancers. But it had ties associated with a number of proteins. And while cisplatin can react with proteins, its primary mechanism of action is not on the protein, it's on the DNA. So that must have been a secondary layer that was integrated. Okay. And this gets into like, you know, in terms of when I shared out the information, why I provided it sort of as not just as a link, but as, you know, text that people could see and then, you know, copy it, update it, etc. a full request and, you know, update it. But, you know, there's just, there's so many layers to this that, but, you know, just the opportunity to do great analysis. So let's see. Okay. But yeah, and so this is a, based on a number of, you know, genes that get activated, you know, sort of a scenario where the pedal hits the metal in terms of when cancer gets involved but um this displays you know what based on those criteria what the graph looks like you can then sort of play with it amend it and then see the effect. And so there was like, you know, the concepts of like EML4, ALK, Fusion, that was like, I had no idea what that was until I dove in and kind of brought this together. But, you know, it's one of the cool things in terms of, you know, finding the right pathway, which in this case is Ruki Pathways and sort of leveraging string, I want to call it sting, sting and stitch to, you know, provide and find deeper meaning. So, you know, this is OK. And so this is inactivating mutations. So this is in the context of TP 53 and the related compounds I won't run it But I believe in terms of things that aligned with your paper And stuff I believe not when was a compound that came up as, you know, one of them. Yes. Yeah. Yeah. Okay. So, and that's one of those cases where, you know, you've got a paper being done and I tried, tried to understand the problem without sort of mimicking, mimicking it a hundred percent and sort of stepping back and sort of just follow the process that was sort of captured in the pathway. And so, yeah, this is CDK in 2A. Yeah. So this is the one related to cell cycle regulation. And FHIT in IRVI. Okay, so yeah, so upstream and downstream regulation, this is where I was trying to focus more in terms of what are things that kind of disrupt pathways and sort of focusing on, to a great extent, it was inhibitor concepts, MEK inhibitors, and the specific part of the context for this was kind of leveraging the pathway for what it captured. It had specific inhibitors listed at NAF2K1 and NAF2K2, so that's why in terms of the identifier is used to drive the generation of this graph. to K1 and that to K2. So that's why in terms of the identifier is used to drive the generation of this graph. Anything that people want to discuss about this, it's obviously essential in terms of inhibition type behavior. BRAF inhibitors, one of the interesting things with this one, it has to do with how, what I liked about Stitch in this context was how it brings the information close together, like the research to, you know, the data. And one of the data items that I ran across was the fact that, and it wasn't a direct relationship that you would normally draw on a graph, but it was the fact that not 3K11 was involved with upstream behavior. stream behavior and based on its sort of impact to the signaling cascade was an indirect inhibitor for graph so yeah so that's part of the reason why it's kind of shows up down here towards the bottom not directly connected to BRAF. Let's slow down on this one. If you could go up to the heading. Just so we can, for the folks on the call, explain conceptually the thought process and the approach. You were trying to go after BRAF and then you brought in this prior knowledge that MAP3K11 is upstream of it, or has effects that might be upstream of it. And so your query, your fundamental query was, give me the network that is the relationship between the thing I'm after, this thing that I know that's slightly related, and then show me the network of other interrelated concepts whether those are compounds or protein interactions yeah i think that that's part of it but it kind of goes to you know the value of stitch and string and it was like it was the fact that it was like the expert knowledge that it had brought in terms of the MATH3K11 in the context of being an upstream inhibitor and a signaling cascade that would also inhibit graph activity when it's, you know, when it's GANF, when it's accurate. So, yeah, so that's kind of the aspect. So it's why it shows up a little bit different. But I included this one and sort of added the note just because it was something that, you know, if I had been doing this purely as a Rust API, I wouldn't have got, but you give it to a cellular biologist as a tool that it enables them to do very quick research and add that additional aspect based on their existing knowledge and expert knowledge from the papers. Sure. Well, I'll let you continue but there are... we could go on. Yeah, we could go on to a great extent. Some of the other ones that it's like the key focus was but in terms of interest was like RV pathway in P53 pathway. So this is one that's focused on items that are in the P53 pathway. This is one of those things where I manually derived this based on the pathway. So I looked at it from the perspective of here, you know, what are items in the dance. I think it was downstream in particular, well, since I created, but I think that was the key focus is that P53 is impacted. How can we help the progression down the stream. So that was the focus of that query. So anyway, that is sort of it. And again, that was just a walkthrough of, you know, what's the back to here, what's the active here, what are the activating factors, what are the inactivating mutations, and then also try to map it, things in terms of influencing and affecting the pathway. We have a question from TBA. What's your question? If you could unmute yourself, please. Sorry, it's me. I'm driving. I accidentally touched the button. No worries. I did. Michael, did you have a question? Michael, I see you as unmuted, but I can't hear you. I'll let you continue, Don, and then Michael, if you can get your audio fixed, just send a note in chat. Okay. All right. So, you know, to recap, this was a walkthrough of, you know, the Wiki pathways pathway using, in this case, it was was primarily stitch but there's specific things that it doesn't do well that string would be more helpful for but I do have sort of in the detailed walkthrough and you have a link to you know that suggests you know how you can take the similar sort of analysis and and then transfer it over to string. Yeah. So again, in conclusion, the reason for wanting to do a deeper dive in string and stitch was in terms of our local community, make sure that people are aware of it. And in terms of extremely useful functionality that was similar or better of what we were prepared to, you know, release in a short timeframe. And then, you know, it's got some clear real-world application for non-small cell cancer research. You know, that there are some... application for non-small cell cancer research. The other thing in terms of clustering, it does some great initial sort of clustering, but in terms of more advanced methods, I think that there's an opportunity for custom development in terms of identifying appropriate clusters. And then also to sort of some of the gaps in existence that it doesn't have a clustering solution period. So in terms of leveraging available data to do clustering of compound and protein slash gene interaction. Some great opportunities there. And anything else that you wanna say in conclusion? I know we have a little bit of time. I just wanted to ask if there would be a value for me to show the Google collab with just the code implementation of the key means. Yeah, I happen to know that a few folks here are interested in the code. So yeah, we're going to go for the biologists on the call. Hold steady. We're going to go for a while. But yeah, go for it, Ina. Okay, okay. Awesome. Just give me one second. I'll share my screen. All right. Hopefully, you can see the K-means clustering Google call app. Well, we talked about the algorithm in general and it you can see the K-means clustering Google call app. Well, we talked about the algorithm in general and it summarizes some, well, the three main steps of initializing centroids, assigning the data points to the nearest centroids and updating the centroids based on that. And that's how the algorithm itself looks like. So we start by providing the initial centroid data points and figuring out the k, like the number of clusters based on that. Then iteratively, we are going to find the closest centroids, and we can provide the number of iterations as well. This is just to visually represent it. And then we recompute the centroids. So when we do find the first closest centroid, we get the k from the input values, we calculate the distance as a norm, the distance from the data point to its assigned centroid. We then take the minimum distance and the centroid with the minimum distance would be the one assigned to our data point. After doing that, the next step is computing centroid. So for that, we're going and for each centroid and data point we calculate the mean. And we return updated centroids assigned to each data point or vice versa. Data points to centroid. And this is the example of using that. So we're initializing the data set with three. This is just a sample data set with three clusters. Yeah, that's how it's going to look. First I'm given just any points, not randomly selecting them from the dataset, but just any points there. And I wanted to show how that local minimum, that drone into the local minimum that we were talking about, right? So this algorithm really is dependent on how close the initial points are. And so, well, it will always converge, as I said, but it doesn't guarantee you that it will always converge correctly unless you run it multiple times, assessing the cost. So, running several iterations, it finally converges and you can see how it moves from the the initialized centroid points to the correct clusters. So on each step it gets updated. And finally, when there are no more changes, it means that our clustering happens. So it converged. And that's how we would initialize our starting centroid points. Knowing their number, we would shuffle our data points using NumPy's random permutation and then select the first n examples. Well, and using that, we would avoid duplications as well. So it guarantees that our centroids are like three separate points there. And yeah, we return centroids as an numpy array. And yeah, that's how it looks like. This example goes with the random init, and every time we run it, we will see different initial centroids there, but they still converge and sort of form our clusters. But the algorithm is not very difficult, right? But the good thing is that we don't need to implement it ourselves. Luckily, libraries such as sklearn have already did that for us. So we can just utilize that and also get all the information we're interested in, like cluster centers, gaming labels, and all that. So these are the results of the gaming using ScaleLearn, which are just as good as our algorithm that we implemented there. And we'll proceed. Having a good laugh at real life there. You know, I mean, just in terms of an appreciation of what you put into this, this week, you know, you moved from the U S to, you know, the other side, you know, North America, you move to Vancouver. So obviously you're still in the process of moving. But what you put together is just really amazing. Thank you, Don. Thank you. Yes, Michael, of course. We'll share it on the chat. Yeah, well, a few final points. So we talked about the elbow method as the way of selecting the right number of clusters and computing the inertia. So this would be an example of how we could do that. So this would be an example of how we could do that. So we calculate k-means for the number of clusters we're interested in. And in our case, that would be, what, nine, right? And just fit in the data and visually representing it with them can see the right elbow and the right point showing the number of clusters we need to select. And finally, well, this is kind of a stretch, and Don, you maybe can help me as well with just getting the why and how useful that is. specifically lung cancer to minimize, well, to downsize the number of points. And then go on and plot the data. So yeah, that's how it looks like. That's the data that we selected from our dataset. And we selected two features, EC50 and AUC. In my example, it doesn't really represent anything in particular. I just wanted to show that we can select any numerical data features, basically, and plot them and cluster them based on that. Then we can go on and run the elbow method for our dataset. And I would say that in this case, again, like three would be the optimal number of clusters, because then like adding more clusters doesn't really significantly improve the results. So selecting three clusters, we can go on and use our algorithm to group them. And here's what we have, final input. The green cluster is way bigger probably than all the outliers. And as I mentioned, this algorithm is sensitive to outliers. So by cleaning the data set or selecting the features we're more interested in, we can minimize this outliers variance. Or if outliers are inevitable, we can try and look at other clustering algorithms that can help us with that. And yeah, I think that would be it. Were there any questions that I haven't seen? I'm going to open it up to the group first. I do have a set of questions, but is anybody on the call? And what we'll do is let's have questions for Ina first. I know, Michael, you have questions for Dawn. But while we're on Ina's notebook, are there any questions about the code, the clustering algorithm, or anything we've kind of covered in the last few minutes? Anything in that realm for ENA? All right, I'm going to go ahead and start us off with a question. I see, actually, Jean, did you have a question? Hi, it all looks very good. And, you know, I haven't had a chance to go through all the material yet. And I was just wondering if this is recorded, so that I could look at this later I'll have the slides. I'll have the notebooks, the code notebooks. But I think I have a video as well. So I'll share that out on the Meetup and on the Slack if you're on our team. Great. Yeah, I'm supposed to take the bioinformatics and then, you know, I have my bioinformatics team and maybe we can help to you know give some insight to oh absolutely and if there's any tools here based on what ina's doing that's very cool as well yeah they did a great job and if you guys have something novel in there then you know we could uh you know we could promote it or you could promote it oh absolutely um so you know first of all, amazing job, of course. You did really, really well. I'm really impressed. We had talked at one point, or you had mentioned in this call about numerical versus categorical. Right. the screen of arbitrary numerical values being used in a clustering methodology. And I think that's phenomenal. I will tease that the main algorithm that our group did was a ranking algorithm called S prime, and it results in a numerical value. And so obviously what's implied here is there's probably a way at some point in the game to cluster by S prime. You know, we're saying what relationships and S prime cluster, and obviously you have two axes here, and that is in fact a relationship that we care about. But categorically, we, you know, there is maybe this is the challenge that we encounter very quickly. This is coming from the strings database. They have obviously, as shown by Don, a way on their website of doing a k-means clustering. There's also the MCL and a few others. The categories that occur to me when I think of like compound categories are things like MEK inhibitors. So MEK inhibitors is a class of compounds that all do kind of the same similar function. So if I were to look functionally at a blind set of compounds, I would expect them to cluster functionally. But to me, that is categorical versus numerical. So I guess I'm thinking that probably follow-up work for us is to better understand how strings might be approaching the numerical classification of the categories. Because for us, we're kind of blind on how they're going from this almost text-based or network-based relationships to those numerical values or maybe it's like the number of edges away on the graph maybe something is like that i think that you're right i think that is kind of finding out what's the magical number of sort of clusters to apply to get it to more accurately sort of map it to, you know, mechanisms of action, for example. I ended up sort of building off of the work that I did. I made a word cloud. And sort of mechanism of action is what I used for color. So I think it's the right sort of concept. I did create sort of using a log function, sort of using EC50, again, kind of driving up what Inid created. And it was like, it didn't, it just didn't look right. And it was pretty ugly. I'll show it so others can laugh too in a bit. But yeah, it's just the work that Inid, he did was was sort of amazing. And it was like, it was very helpful for me to be easy for me to kind of build off what you had driven based on your research. Thank you. I'm very taken by the numerical clustering as well. I'm gonna, as one of the things that, that Matthew was driving at is that we end up with clusters of values that are based around mechanism of action. They're relatively focused. I would be very intrigued to try just a small set of those and apply them with the K-means clustering just to see what actually pops out. Because my suspicion is that this might be a much better way to look at a large data set than what I had envisioned. As we now begin to move into much larger data sets, a mechanism to do that across many different cell lines, many different cancers may be extremely helpful. And that would be awesome. And I also wanted to add that there are several approaches that can be used to convert categorical data to numerical and we can explore them as well. So I'm not sure what StreamDB uses under the hood for doing what they do, but there are, well, I mentioned, I think the label encoding is one of the approaches and it assigns numerical labels to each category. So maybe we could explore that. We could also, well, again, I'm just thinking out loud. We could try and convert it. We have our own dataset. We can try and convert it to some sort of vectors and try and cluster them together. And I think that's what large language models do now. They do embeddings and they try to cluster words with similar meanings into groups. Then I also know that there is a variation to a k-cluster algorithm. In the talk, I mentioned that k-means uses distances. And I think K-mode uses this, like, similarity, techniques to compute similarity. And so, well, yeah. So what I wanted to say, so there are ways for us to explore if needed to convert like um stories to to new numbers one one of the very interesting things that we that we do use is a uh function that is based on the difference between two values, which is basically a distance. Okay, so that's already baked into our calculation, one of our calculations. So again, things might line up in a very intriguing way. You know, if we can just kind of ponder it a little bit and think about how to how best to approach it yeah and that was one of the cool things in terms of the discussion with you know last night and it went longer than i expected just because you know you start geeking out about you know the cool ideas but it's like the aspect of certain elements are about categorization, right? Which is sort of what I think K-means does very well. And then you've got the MCL clustering, which is kind of, is the network stuff. Like it's like driving things according to, based on nodes in the graph, like what's the extent of the relationship. So I think that, you know, the convergence and sort of the divergence between different approaches is valuable to sort of look into further. Michael had a question earlier that I want to sort of circle back to. And I don't have it on screen, but it was basically having to do with looking across different cancer groups by tissue yeah I have a question Paul if you want me to go through that yeah so this is Michael's question and this I think was more towards Don, but it's a general question. Can we show the networks at the tissue level in string, breast versus lung, for example? Are there options deeper than human? Also, if we export the data from string for compound protein interactions, could we customize edge weights with our own S' values, the ones that we've computed, in the next visualization step? I think those are at least two questions. One on tissues and options deeper than human. And then another one on can we export it and then kind of play with the network, including some of our own weights and values. Yeah. So do you want me to... So I guess a quick question. Do we want to consider the formal presentation over and stop recording or do we want to continue to capture this? It's up to you. I tend to like Q&A in the videos. I'll annotate when the Q&A stops and stuff. Okay. It's riffing too a little bit. I will... Eden, do you mind if I take over presenting? No, of course. I'll stop sharing. Okay. Just because it was pretty. One of the things I'm going to do is pull up the... Let me know what you see. Do you see the... Okay, do you see the word cloud? Nothing is sharing yet. Nothing is sharing yet, of course. Nothing is sharing yet. Nothing is sharing yet, of course. Let's see. I'll go ahead and share the material. Okay. All right. So here, this was a word cloud that was created. It was like one of those situations where a clustering algorithm was imperfect, but I thought that, you know, word cloud might be better suited. So it is, it was a log, log base 10 of, you know, an average EC50 value. So it's not S delta prime, but it was like horseshoes and hand grenades. So it was just, and sort of the other, one of the things that I thought was maybe an interesting idea was for some of the prime mechanisms of actions, color code, so in particular the ones that were most common. But it's like this breaks down. It is based on the PRISM secondary data set and it's like some of them have a discrete clear value single sort of mechanism of action, but some of them inhibit multiple proteins. So it's like it's one one of those areas where, you know, when you're talking about, do you do categorical or do you do just numerical, maybe at some point, maybe initial analysis so you find new sort of aggregations and relationships, stick with numbers. And then once you start to identify patterns patterns you try to assign a label to but anyway it was just kind of interesting that it was also you know something that people tend to like word cloud for some reason so okay so i will get back and so the scenario was we are talking about um the ability to filter So what I think here is, did he suggest a key pathway that he'd want to overlap with specific tissue or gene? I guess we were talking about at the network level, at the tissues level, something, for example, breast cancer versus lung or, you know. Okay. So, the context that I'll do initially is like what I searched for was, and I can go back and show it, is that again, it was like with the pathways choice in the initial string search screen, I asked for the P53 signal and pathway. And actually, I'm going to go back. So just for my personal context, I remember, you know, which one to pick. Is it wiki pathways or keg? Okay, so that's fine if it's keg. Signal and pathway. Do they have a wiki one? I'll search everywhere. Okay, so this isn't a bad context. For the experts out there in terms of alternate sort of data sources if you're familiar with gene ontology right you as a data source you can also pick that as a signal but i'm going to stick with keg so okay so we're here what i've found is that um i am tempted to see... what does it do in terms of... For the purpose of the video, could you share just the browser for the contrast? Okay. We'll do......and...... That's weird that it's that markedly different. Maybe it's that I'm just tiring out my card. Okay, so we're switching here. This is... switches here this is okay Michael comments the estrogen receptor would be, for example, a good thing to search for breast tissue expression. Okay. So here let's see if I, okay, so disease gene associations. And that's, you know, you can pick, let's see, maybe more than one. So there is breast carcinoma, breast cancer, breast disease. There is the concept of tissue expression. And yeah, it's like some components. So anyway, there are a number of choices in terms of how you do it. There's also some of the obvious things we started with K. And if Kang saw that there was any obvious sort of overlap, it would come with it. But what I'll do is I'll go with breast cancer. And then what you'll see is sort of it highlights the related proteins. So, yeah. So in terms of, let's see. Okay, let me do it this way. I'll go back there. And if we are looking for... so estrogen metabolic pathway and estrogen bonding what kind of receptor let's see the abbreviation for that is esr that's the name of the receptor. That's true. So yeah, it's like this is a case where it's pulling from another data source. So ESR-mediated signaling sounds appropriate? Yeah. Or is it the nuclear events? No, the first one yeah um so it's one of those things where what i would like to get a better sense for it is like you know how do you filter things so it's like the you can overlay it with other pathways but it's like so maybe one of those things find sort of a keg or a wiki pathway that overlaps most closely with what you're looking at because oh here's estrogen receptor pathway and under wiki pathways and when I do that so I think that that's kind of my sort of thoughts is that you can see the context of where the initial pathway comes up and you can pick something that is more sort of filtered and specific. things. It's the link to the actual pathway definition in the target, you know, whether it's wiki pathways, keg, or gene ontology, it'll link you directly there. So that's kind of the, others may have a better thought in terms of a flow,'s that's my thought is that it will it kind of gives you sort of a human sort of manual workflow of how to kind of pick a better path so here i can pick you know wiki pathways or and so this is is that kind of helpful in terms of a workflow? Yeah, absolutely. I think, Michael, to your question, do we have tissue level? Yes, we do. We have it in a number of ways. Another one, so this is all in string. Another one I had seen previously in the talk was Stitch had cancer- specific annotations. So there was a breast cancer annotation and it said, these are the, you know, 100 genes associated with breast cancer. I think they must have had that for a bunch of different cancers and tissues. So there's, there's multiple ways. Essentially, we do have the answer of which tissues are involved with which of these genes. the answer of which tissues are involved with which of these genes. Yeah, well, one of the reasons that Michael's question is very important is because different tissues or different cancers may use the same pathway in slightly different ways. pathway in slightly different ways. They have a bias, they have a preference to a certain pathway. That doesn't mean that they exclude everything else, but they have a pathway preference. So breast cancers and ovarian cancers, estrogen receptors are very important in other types of cancer like, let me think of a good one for estrogen, thyroid cancer, not so much. And understanding those differences in the pathway based on tissue source can be very, very helpful in looking at the variation in response, which you sort of expect to find. And there's a part two to Michael's question, which is basically along the lines of, can we export it and the network and the interactions, and can we bring in our arbitrary ranking values, our S prime values in this case, delta S prime, which we have per compound. We have for this compound and cancer, we have a single value. And I think, so the first question to Don is, is there a way to export some of these networks? And then I think... Yes, that's the simple answer. Yeah, that's what I figured. And I think the more nuanced answer is going to be, this might start to bleed over into the work in the cytoscape. So we kind of preview that there's a way to export these networks, import them into a tool. And then that tool might be our avenue for bringing in our arbitrary data set, mapping it to this data, and then doing analysis. So I think, Michael, we'll have to kind of sit tight for our next talk on Cytoscape to kind of get a little bit more information on that. next talk on Cytoscape to kind of get a little bit more information on that. So with I think that so Cytoscape the integration with string was kind of out of the box but you don't have the compound related info but the I thought maybe that is is string in terms of a specific export. I was thinking that maybe this, so this is Stitch. This is the ESR. So what I was looking here is in terms of an export type, does it have one that's natively sort of supported? And so the equivalent, if I remember correctly, Cytoscape takes a TSV format, maybe somewhat simplified. So I think that the potential sort of solution would be maybe we need to, we can take this in, um, oh, I'm only sharing the browser, but you know, got this up in a, as a TSV file. So you can, um, yeah, I think it would be that you can download this and then tweak it a bit. Okay. I want to open it up to anybody else on this call for questions. Are there any questions from anybody on this call? Is there a place that the materials will be posted? Yes, if you're on the meetups, I will post it in a meetup comment later in the evening as a comment. And the material that I shared is through GitHub. So there's the slide deck that Matt's going to share, but the stuff that was from GitHub, there's a link to you to access. Thank you. You're welcome. All right, well, you know, this work that we had here is part of an ongoing project that I will post a link to. We meet every Sunday night. It's a computational biology working group. Again, we are trying to solve cancer, solve the discovery of molecules for cancers. One of the areas that's, you know, we found particularly that we can make a disproportionate impact is in rare diseases oftentimes there are relatively common pathways but they're just not proven in these rare diseases and therefore there is no there's no treatments in those diseases no approved treatments so you know anything we can do to help in that area. But generally, our algorithm is applicable across cancers. We're a few months away from publishing our next paper in lung cancer, but we do have other cancers coming up after that. We will kind of keep pivoting and scaling. If you're interested in that work, I will share a link out also in the meetup comment section. And when I upload this to work, I will share a link out also in the Meetup comment section and when I upload this to YouTube it will be in the comments description for that area as well. I want to give a huge thank you to Don and Ina. You both did an amazing job presenting today. This material is complicated and you guys have really supported us in making it accessible and supporting the working groups i really want to take a minute to thank you and applaud you guys for your real terrific work thank you so much so with that i think we'll go ahead and wrap up and thank you all for your time and have a wonderful evening don will you be able to hang around for a few minutes yeah that would be perfect if we can kill the recording. That would be great before we start doing a little laptop. Thank you so much. I'm stopping right now. Thanks, Patrick.
K-Means Clustering and Biomedical Data from STRING and STITCH
This presentation has two parts:

1. An introduction to biomedical data sources STRING/STITCH by Don Branson 

STRING - https://string-db.org/
STITCH - http://stitch.embl.de/

2. A conceptual explanation of what K-Means clustering is, with some applied examples by Inna Zhurba.

TIMECODES:

Introduction: 00:00 - 02:25
Introduction to STRING and STITCH data tool: 02:25 - 29:20
Concepts of K-Means Clustering: 29:20 - 48:30
Case Study Applying the Techniques: 48:30 - 1:14:15
Code for K-Means Clustering: 1:14:15 - 1:24:13
Brainstorming and Discussion:  1:24:13 to end

RESOURCES:

Slides from this video: https://docs.google.com/presentation/d/1hgaA3hi2JRSFwNUDeZOCPRcOF7byx0qRGvZu6L6qq4M/edit?usp=sharing

Don’s GitHub with guide on STRING and STITCH:
https://github.com/donbr/nsclc-pathways/blob/main/README.md

Inna’s Google Colab on K-Means Clustering in Python: 
https://colab.research.google.com/drive/1pQWhlX7LHusbRIvoK2z45H_o_1PBQkD2?usp=sharing



The Computational Bio Working Group website: 
https://sites.google.com/dmvpetridish.com/comp-bio