So what we're going to do is we're going to set up multiple ad creatives. Okay. And again, should I go to create? Yep. Go ahead and click on create and let's just go ahead and, and, and let's, let's somewhat mirror the first one. So we're going to go conversions and the first one we named it Jessica ad with blue shirt and maybe just, just do the same thing, but just put the number two, you know, maybe just, just name it right at the top. Just put, you know, number two or something. That way we know this is the second one. Okay. Perfect. And then in parentheses, conversions. Always conversions. Yeah. Yes, we get conversions. Your kids are adorable, by the way. Oh, I love that picture. They're so cute. They're just, yeah, they're a handful and my 13 year old too. And he's a huge help as well. Oh, that's great. Yeah. So these little ones with you, the 13 year old, how what? How often does he get to spend time with you? I'm with them all the time. I'm with them every day. Oh, good. Yeah. 50 50. Oh, good. That has, um, yeah, that's kind of, that's the way it's been since day one, you know, we, we split when he was two. Uh huh. So from two and on, you know, that's kind of been the schedule just 50 50 just worked out. It worked, you know, he's a really good, really, really good kid. Like it really worked out. Like he's sometimes when you have a kid going back and forth so many times, it kind of psychologically, it kind of throws him off, you know, but thank God it really, I don't know if I don't think it did. Like he's a good kid. He's happy and he's a good kid. Um, it must be, you must have a good relationship with his mother too. I mean, we were, we were, we were best friends for, for a very long time until we kind of had some kind of little fallen out recently because she just ended up, you know, doing some stuff that I didn't, I didn't agree with and not even telling me about it. Like she ended up moving, you know, she did it moving 45 minutes away from me. Oh wow. Not even telling me about it. So yeah, we had a little fallen out for the, for that, you know, but you know, we're, we're cooler than that. You got to be cool with these, you got to be cool with your ex man. Cause if not, my son was married. And 12 years and then they divorced and she is horrible. She, uh, they had one child, a girl who he loved, you know, she was the most, he had more love for her than anybody and he lost her.  And yeah.  Would they, they were kids together in Arizona and I said, oh, I don't know how can, can handle it.  He goes, mom, I lost a daughter too.  And I feel sorry. It was his only child and yeah. So he, and he's only got kids now. Yeah. But what are you going to do?  Yeah. Yeah. But his never cooperated. Even he could have put her in jail because the judge, I went to court every time with him and they were court orders, but she violated them every single time. We'll lead this one off campaign budget optimization. We're going to, we're going to leave that one, we're going to leave that one off and then we'll just go to next. That's the first step, just choosing the conversion, choosing the housing category and then, and then next. Okay. So over here, we're going to go and I put the thing in here again. Yes. Actually, no, here is just, is just simply the ad set. So just give it some type of title for the ad set. The ad set is your targeting the city, the town, the address, the, the, the location, whatever, like I'll just put something there that will help me know what, what area I'm targeting. That's the ad. I think mile radius. Yeah. That's fine. Whatever helps you. Yeah. That's fine. Perfect. Okay. So one way to split test and that's what this is all about is split testing scene, seeing which one works, right? One way to do it is through multiple ad sets and this is your ad set. This is the second tab. This is level two. This is your ad set level. Okay. So, so what's that? First one was campaigns. Now we're on now we're on the ad set. So one way to split test is where you, where you choose multiple locations to see which location is the one that's bringing you the ROI. Now in your case with a local business, you're only focused on one location. So we don't need multiple ad sets for your, for your ad. So we're going to simply come down and we'll just simply put the daily budget. Let's just go. Let's go. Let's go. Let's go daily budget. Actually, no, we're going to drop it because we're going to, we're going to add more. We're going to. Now what we're going to do is we're going to set up multiple ad creatives. So what that means is Facebook is going to is going to spend money on each individual image and they're going to let us know which one is performing. So here what we want to do is we want to do five. Yeah. We'll do five and then we'll just go ahead and change that date for the next day. It's always the next day at 6 a.m. Okay. Perfect. And then now we won't leave an end date. No, we just we'll just leave everything as is and we'll change out the location so that the United States up the United States go to and change that out that location. Okay. So perfect. So there's that address and then now what we're going to do is we're going to just simply leave everything the same below. So yeah, we'll type that in. We're always looking for the drop down. Okay. Okay. And leave everything leave the age and the gender detail targeting don't need. We don't need in the language. Change out the language up. Language language because I need to do that because I don't want people I can't speak to. So and it's automatic, right? No, up language go to language. Edit the language edit English just hit the drop show and that's it and then scroll down and that's it. So that's step two. That's it. That's all you got to do. That's it simple and then now hit next. We're going to leave automatic placements. So go ahead and just go next. And this is where we set up the first this first ad. So the first image. So now all that is is is is okay. So now go in scroll down. We're going to create ad. So scroll down. I have to do. Yeah, you just I don't have to do anywhere. You could put whatever. I mean, whatever is going to help you know what that's so yeah, just add a blue shirt and then just put yeah, Jessica too. Okay, perfect. So we'll scroll down and then we're going to choose the image. So we're going to add media right there. Add media down a little lower ad media. Okay. So now we're going to grab each image, but we're going to do one at a time. So we're going to just grab one image and they should all be right here. So let's just go left to right. Perfect. So right there, the top one left choose that one and then just hit next. Okay, so now what you can do is you can you can check the boxes to the left horizontal square. I can crop a little. Yeah, you can crop it and go to and click crop. And so now I just allow you to just either go original or you can go full screen vertical. That's all you could do. Okay, click on full screen vertical to the left. Okay. So that's not the one you want original. Yeah, just go. I was wanting to take that bandaid out, but they don't let you crop it. Yeah, it's fine. So it's not, but they don't let you do it. Okay. Yeah. So just and then also check the boxes to the left vertical horizontal square. You think horizontal check all of them. Just check all of them. Square is better. I like square better. Okay. Yeah, that's that one. The vertical the vertical do the vertical. It's going to be for stories. So check all the boxes to the left. Oh, okay. Well, that's that's vertical. So, so uncheck the vertical and see what it looks like again uncheck the vertical. See, so that's what it would look like. So go to the box. Go to what? Check the box vertical. But that's for stories. This is the one that's going to actually. Yeah, this is going to act together this one. Yeah. Okay. So go ahead done. So we're good there. So now what we're going to do is we're going to just simply grab the text. We need we need the text. So scroll down. Yeah, you can go to the page. Yeah, you can go to the page and just grab the text and then we need the link for the landing page.  Okay. So you'll scroll down. And then right here primary text. Okay. Oh, it's got a place for headline. Yeah, that's that's why we're doing this way. Yeah. Oh, good. Okay. So go to space all that out and just maybe drop the I wanted to tell you maybe drop that down a line. Oh, okay. Yeah, just clean it up a little bit. Yeah, because it did look nice on the other one and then maybe I'll drop this down and I'll drop this down. Okay. Okay. So that bottom click learn more to download. Let's let's let's cut that. Don't delete it, but just highlight it and cut. And maybe should I copy it? Copy it. No, cut it. So right click and just paste it in the headline. Oh, we'll see. I was going to copy it. Okay. Hold on. I'm just going to in the headline. Yeah, wait, I'm just going to have to delete some of this. I'll say you want me to. Okay. So click learn more to download the same information guide. I gave Jessica on things to consider before selling your home. So let's just shorten that a little bit. So maybe just take away clicking on more to just put a capital D on the download and just maybe let's let's use that as the first word. So download the same information guide. I gave Jessica. Yeah, just let's do that. Download the same information guide. I gave Jessica. That's it. So delete the rest of it. Oh, the same information guide. I gave this Jessica. Okay. That's it. I got a period and then delete the rest. Yeah, here we got a Jessica and then delete on things to consider before selling. Yeah. So delete all that. Delete on. Yep. So just leave it at that. Yeah. So download download the same information guide. I gave Jessica. That's it. Okay. And then, um, and then the landing, the website URL right here. Okay. So now scroll down. That's a little more button. We're good there. Scroll down, scroll down, scroll down tracking, keep going lower. So there's the, um, the, um, okay. So click on website events. Check that box website events. Okay. Perfect. So there goes your pixel. Okay. Good. Okay. So we're good. So now publish. Okay. So here's what we did. We just set up one full blown ad. Right. All right. Image publish hit the green one. Publish it. Yeah. You see the, see, look, there it is. There's the title. There's the title. You see it? Yeah. Yeah. We're going to click on publish. So, um, that's one full blown ad. Now what we're going to do is we're going to come in. So we published it. Now it's set to go live tomorrow, 6 a.m. We publish the first ad. Now as we come in and do the second and third, we don't publish it just yet. Okay. So now let's X out in the top left. X out. Okay. So, so go ahead and, and, um, and, um, yes, you're going to. So from right here, we're going to, we're going to create. Go ahead and click the green button from here. So create, go to create and we're going to leave and we're going to go, um, conversions. Yeah. Continue, right? Continue. Do I still push? So now check this box over here because we're going off of the same campaign and we're going off the same ad set. All we're doing over here on the third tab to the right is we're creating a new image. No, don't check that. Oh, don't check it. So now just hit the green button create. So everything is going off the campaign. Everything's going off the ad set. Right. So the campaign stays the same. The ad set stays the same. We're changing the image of the ad. Right. Okay. Gotcha. And what you're going to want to start doing is, is naming these naming naming it because let's X out this real quick. X out this or the whole thing. Actually know what? Leave it, leave it, leave it. Let's hit continue. Let's hit continue. We'll rename it later. Change the name. Okay. No. All that stays the same. The only thing we're working with is this second is a third tab. But what I'm saying is that you want to start titling and being very descriptive because now we're going, we're going to be putting in the second image. So you need to be able to look at your dashboard and see what image that is. So, so, and I'll show you, yeah, just leave that offset. Just, just leave that don't offset pick. That's fine. And I'll show you what I really mean once we're done with this. So create ad, leave it there. Scroll down, scroll down, scroll down. We're going to go add media and then just choose that second image. That's nice. Could just not have to do all that other stuff. We'll go with the second one. Go with the second one. Let's go. Let's go left to right. This is the upset picture though. No, you don't want me to go with this one. Yeah, but, but we're going to go left to right. So, I mean, that's fine. You can go with this one. We got to go back into the middle one. Okay. Because we're doing three. Right. So, so now go ahead and paste in that text. Yeah, I think I'm going to have to do it again. Yeah, my good. So, yeah, go ahead and paste in the text. I got to get the text again. One second. Yeah. So when it comes to, when it comes to split testing, you have again, multiple ad sets. That's mainly for businesses that are advertising nationwide where you're using multiple keywords. Um, to see which one performs. That's multiple ad sets over here. We're doing multiple ad creatives, which is now putting in multiple images, doing setting up image ads multiple times multiple ad creatives to see which image gives us the performance, right? Right. The third way to split test, the third way to split test is when you use everything the same one image, you do all the, everything one image, one ad set, everything one, one, but now all you're doing is you're changing up the headlines. Okay. So we can come in here and do this five different times, same texts, same image, but now we just have five different variations of the headline. Okay. That's another form of split testing. Okay. So in this case, we'll just do the image. Let's just do the image. So go ahead and put in your website URL. Oh, I do have to. Okay. Yeah. Everything is the same. You got to, you got to make sure every, yeah. So we'll grab this tech, this, this Lincoln and just drop it in over there site website URL. Oh, that's right. I'm sorry. Hope I learned this someday. Christine, this is basic stuff. I don't know how you don't know it by now. No, cause you're doing it. So every, so check that box, website events, always check that box. You got to see your pixel in there. So check the box website events or, oh, there we go. Okay. It's there. Okay. So there's your pixel. Okay. So everything is good. So now what we're going to do is we're going to actually you, we already know it's going to, it's going to, it's going to go live. So go ahead and publish, go ahead and publish publish. We won't worry about the same thing on the ant that we did on the ad sets. Yes. So now it's out in the top left. So let's do this. Let's do this one more time. So Excel. Okay. So now this one is in review. The top one is in review. Okay. So here's my point. When you're looking at it from this view, right, you need to know which image that is. That's why the title is so important. We got Jessica blue shirt too. And then we have offset pic. Right. So, so whatever's going to help you know which image that is, that's the title. You have to be very descriptive with your title because if not, you're going to have to click into it. You're going to click at it. You're going to have to go into the damn ad and see which one you were wearing. Right. It's just too many clicks. I want to be able to just look at this and know what image that was, what video that was, right? By just looking at this, right? So maybe I should have changed this to Jessica pencil right there. Hit the little pencil next to offset pic. Okay. Change that name just in case we do more like this. Okay. Well, it's not just just in case you do more like this. It's just the fact that you got to know what image that is, you know, so Jessica offset pic. Perfect. Okay. So, so now now it's this one. I think that's the only one we didn't know that's not the one we're, no, no, no. So now XL one selected to the right. One selected X out of that. Now go back to the campaigns tab and check the box. So check the box next to the blue dot click on the middle tab and now this over here should be checked as well. Go ahead and check on that. Check the box over here and then now go to the third tab and we're going to hit create. So now we're going to just simply hit the green button and more. Okay. Use that third image. So go ahead and click create everything. The campaign, the ad set that stays the same go to name the third one. So the third one, the third one down. No, no, no, no, the third one down. Christine. So name this ad. So again, the type of image, you know, what image is that? I think it's a close up. Okay. Perfect. So go to hit continue and then now all we're going to do is do the same thing. We're going to, we're going to copy all the texts. We're going to add the website URL. We're going to check the box for website web events. And that's it. So now ad image. And I think it was this one. And so go ahead and check, check everything to the left. Vertical horizontal square. And then, and then go ahead and just crop each one. If needed. Just click on crop on all of them. Just take a look at it. So, so this one here.  Oh, yeah. Okay. So apply and then do the other two. Just crop. Take a look at it. Go original. Yep. And then apply. Okay. Cool. Perfect. Apply. Okay. Good. Okay. So now done. And now just grab the text. Oh, I'm going to do the link to your web page. See where's the text right here? Yep. Now I got to fix it a little bit. And then I'm going to use the same thing that we used. Right. And then just, um, yeah, take out that part and then bring that download, bring that word back one space, which on the headline download. Yeah. Yeah, you got it. You got to bring it back. I seem to want to move the cursor to the right a little bit. You got one space and just move the arrow, move the cursor to the right and then, and then to the left. So just, yeah, click right there, click right there and then just move it back. There you go. Okay. So put your link there website URL. And then, um, okay. And then down. So now just check website events. Check the box website events and that's it. So now hit publish and you're good. So that's it. So now you have these three images that are in review. They'll approve later on today and then they're all set to go live tomorrow. Okay. That's it. And so, so now four days later. So go ahead and X out of this to the top left and then now as we look at everything, go ahead and, and, and uncheck the one selected the blue to the right. Hit that X one selected and then go ahead and click on the first tab campaigns and let's check this box over here. What's that? Okay. This makes sense to me now. Check the box. This makes sense to me now. Yeah. Yeah. Check the box to the left and then just, um, go to the third tab ads for one campaign. So now after a few days, we'll start to see each one numbers on each image. Okay. Perfect. That's what's going to allow us to sense to me now. Spots. Yeah. Yeah. This, I like this way better than better than dynamic creative. We went with dynamic creative the first time. But, but, but now that I know now that I know that that we don't get to see the metrics on which image is performing, then I wouldn't do that no more. I would just do it this way. This is multiple ad creatives. Um, this is setting up $5 per day per ad per image. And in a few days. So now we're at 15 bucks a day. So in the first few days, you'll be at 15 bucks a day. Right. Just for the first three days and then on the fourth day, we're going to shut off two of the three. Okay. We're going to look at the numbers. So four, yeah. So the end of the week or Saturday performing. Perfect. Thanks, David. This is going to be great. Should we talk Saturday then? Yeah. Yeah. Let's, um, go to the calendar. Just schedule a day. What's that? Yeah. It's the fifth day, but this doesn't run till tomorrow. So it'll be the fourth day. It's running. Yeah. Perfect. So just go to the calendar and schedule a call from there and then we'll chat then. All right. I'll do it Saturday. Okay. Thanks. So Christine. I'm so, so welcome. Talk to you then. Good one. Thanks. All right.


So my name is Veronique and I worked at the University of Toronto in Gary Bader's lab and in the field called Pathway and Network Analysis. So I'm a biologist and I work for people at OICR, Cancer Stem Cell in Toronto that are also biologists. So the tools that I'm going to show are very accessible to everyone. And so this lecture is like a transition from the lecture that you had this morning with Daniel. So you got like a gene list from your variant and to the lecture that is going to be presented this afternoon where we are going to use also pathway and network analysis. So the learning objective of the module, so to understand the basic concepts of pathway and network analysis to be able to recognize different gene identifiers and gene attributes and to understand how simple enrichment analysis tools work and we are going to visualize our results using cytoscape. So when do you want to interpret a gene list? Usually it's when you've done like a large genomics analysis and like Daniel showed you this morning you got your gene list, your variants could be also from gene expression data and you have like quite a lot of genes. And you want to know what is interesting about these genes. And one question that we are going to answer in pathway and network analysis is all these genes and rich in known pathways. So first we should define pathways, what are pathways and when we do like functional analysis pathway and network analysis mainly there are signaling pathways and metabolic pathways. But very often we are also interested by drug association or disease association. And sometimes I will talk about gene set, so what is a gene set? We say that it contains all genes in a different pathway or in a part of a pathway. So I will use pathway or gene set. So what are the advantages of pathway and network analysis? At first it saves time compared to your traditional approach. So the traditional approach would be to look at your genes one by one and to do search, like PubMed search to know what these genes are and try to make associations between these genes. But it's really time consuming. And the other thing if you do it like manually you don't have time to look at all the genes so you are going to focus sometimes on your favorite gene, oh your favorite gene is in the list. So it's biased. But the bioinformatic approach will be save time and less biased because you look at everything in your list. And also I think it's an intuitive way of analyzing your results. At least for me because I'm a biologist so I don't know. But usually we have like a good knowledge of the cells and you can imagine the cells and the nucleus and the membrane and you have a receptor and you have the signal that comes in your receptor and drops the signals and you have all these signal pathways in your mind. So pathway and network analysis will draw a map of these pathways that you are going to analyze. So it's much more intuitive. So you will have your gene list, your pathways that come from a pathway database. You will find the overlap between your gene list and your pathways and we will see it as a network. Another advantage of this kind of analysis is that it can enable you to find overlap at the pathway level. So I don't know if you got this problem. I got this problem quite often. You do two types of genomics analysis like RNA-seq, chip-seq, whatever. You have your hits. You compare your hits and you don't find any overlap, any direct overlap. There is no genes that are in common between your hits of your first analysis and your hits of your second analysis. But you cannot say there is no overlap until you have done the pathway and network analysis because you may have overlap at the pathway level. And this is one of these examples. You do CNV, you found mutations in patients. So patient one has mutation one, patient two has mutation two, patient three have mutation three. So they are all different, but they talk at the same pathway and all these patients are diabetic. So this is a pathway level. And usually when you find like another overlap at the pathway level, you should be very happy because that's what you are looking for. So now I'm going to show you an example of the use of pathway and network analysis. From this paper, so I don't know if you saw it like yesterday or the day before, genomic and transcriptomic architecture of breast cancer.  They did copy number variants and they did at the same time Illumina gene expression. So copy number variants were on a few snippets and gene expression on Illumina. And they did this EQTL expression quantitative trait lucky to find association between the CNV and the genes that were dysregulated. So at the expression level. And they found what they call trans-acting aberration hotspot. They defined the hotspot by more than 30 mRNAs with dysregulated expression associated with one CNV. Okay, so in a subgroup of patients, they found a CNV and they defined a gene list, say about 100 genes that were also dysregulated in this patient that had the CNV. So now they want to interpret the gene list and they use pathway and network analysis. So one figure, so this is the output. And this is like the CNV and the association with the expression level, the EQTL result. So here, this is like the chromosome, the whole chromosome, the whole genome, sorry. And you have like two lucky TR-A and TR-G that have a deletion, deletion here, deletion here. And here the horizontal hexes, you have like a few genes, maybe 100 genes that have dysregulated expression associated with this two deletion. They took the gene list, they did pathway and network analysis and this is the output. So this is a map, each node, each circle of the map is a pathway. The lines are edges, they are genes that overlap between pathways. And when you look at the titles of these pathways, they are all related to like T-cell function. And the CNV, the deletion were in the T-cell receptor, so from the immunoresponse. So the CNV were corresponding to T-cells to mature T-cells because when the T-cells become more differentiated, they rearrange their T-cell receptor. And here it's also related to T-cells. So what does it mean in this subgroup of patients? They had in the breast tumors, they had T-cells, infiltrated T-cells. And the prognosis of this patient is good. So they are a better survival than the other groups. And they think because the T-cells gives an immunological response. So the T-cells fight the cancer. Another figure, so this is the association matrix here. They have a deletion at chromosome 5. And they have 100 genes associated with this deletion. And what does it mean? So they took these 100 genes, two pathway network analysis. Here is the map. So once again, one circle is a pathway, one line is an H. And you have the title of the pathway. And you see it seems all related to cell cycle. So in this subgroup of patients that have the chromosome 5, they have mRNAs disregulated and this is in correlation with cell cycle. And when you look at the survival index and the prognosis and all this information, you will find that this subgroup are indeed, have indeed a higher mitotic index. So their cells are known to cycle more. And this is the same gene list that is visualized using the reactor MFI plug-in that you are going to see this afternoon. And now each node is a gene. We have a gene-gen network and you have functions associated with this network. So for example, the genes here in purple are all corresponding to telomerase, the gene in yellow to cell cycle. So two different pathways where one is a pathway-pathway network and one is a gene-gen network. So what do we need to do pathway enrichment analysis? First, we need our gene list. Second, we need gene attributes that are coming from a pathway database. And then we are going to use tool to find the overlap between your gene list and these gene attributes. So some recommendation before you start a pathway network analysis. Try to clean your data as much as possible. Because if you input a true positive, then you are going to be confident about the results of your analysis. So you may have more true positive garbage in, garbage out. If you are not confident about your results, if you don't have your true hits in your gene list, then you will have less confidence in the output of the results. Yeah? So it depends on the tools you are going to use. Some very simple tools, you just put the gene, like the gene names. Some other tools, and they are very interesting tools. You can rank your genes using the confidence. So this is something you can look at when you choose a tool. If you can have a value associated with your gene, like a confidence score, and you can rank this list, and your list is a beginner, then you can choose these tools to do it. The confidence score of the sample? It depends on your list. It depends on your experiments. But it could be, if you do a gene expression data, it could be the p-value, it could be a score, the number of hits per gene, the number of mutations per gene, so it's really case by case. So yeah, your gene list size is important too. So for simple enrichment tools, like David, if you know, I would say 50 to 500 genes are optimal. But if you have few genes, 10 or 50, you still can do it, but just choose other kinds of tools, like gene function prediction tools. And if you have a large gene list, more than 500 genes, then try to rank your list and try to use tools that choose this ranking. And make sure that your gene IDs are compatible with the software. So yeah, so where do gene lists come from? So they can, like the pathway network analysis concept can be very general, so it's a case by case, it could be gene expression data, it could be protein interaction data, genetic screen, association studies. And because gene lists come from different sources, they are very different, so it's important that you know what you want to answer. And to understand that your experimental design has been done correctly to answer the question you want. And so you choose the right tool to answer your question. And yeah, you can summarize the biological process, find differences, find a controller for a process like a transcription factor, microRNA, find new pathways, so really think about your experimental design and think about the question you want to answer. So we have a gene list and we need gene identifiers so that the pathway database recognizes your genes. And so maybe it's a basic concept, gene identifiers, but if you work with a large amount of data, then you have to be very careful. And so identifiers are unique, stable names for a gene and like interest in ID or RefSeq, but we have many, many database that store information, so we have many, many gene IDs. So you need also to recognize that this gene ID, these identifiers, they don't recognize, they don't store the same information. Like if it's a protein database, then the gene ID is for protein and this is a gene ID is for a gene sequence and it stores the gene sequence record. So it's important to recognize the right gene ID identifier and this is the common identifiers. So maybe you know some of them. I would recommend to use the most common ones for these tools or the pathway analysis tools like Ensembl, Entrezgene, RefSeq and my two, the one I use more often are the Entrezgene ID and the official gene symbol. And one tool that I like is gene cards. So if you want to look for, you have a gene name and you want to access very rapidly some of the common identifiers and you can use gene card and you also have all the names and much more information about this gene. So my favorite Entrezgene identifier is Entrezgene ID. It's a numerical value, so it's very easy to manipulate. It's also stable, so even if the gene hasn't been studied and don't have a gene symbol, it has an Entrezgene ID. So you don't have to update your list all the time if you use Entrezgene ID. Entrezgene ID. Entrezgene ID. And yeah, so Entrezgene is a database, is a retrieval system and it has many, many connections between all these different database. So even with Entrezgene ID, if you scroll down and you have links to the other databases. One other one is Refseq. So if you scroll down this page, then you are going to find the Refseq identifiers like NM for mRNA and NP, P for protein. So because sometimes, for example, we got our data from Illumina and we have this Illumina prob ID and we need to convert from one type identifier to the other one because we want to have the identifier that our tool is going to use. So we have tools, web tools that we can use to convert from one type to the other. And we are going to see this later. So when we have many, many genes, we have to be and we manipulate all these data, we have to be careful. So yeah, there are some ID challenges. So gene names. So that's why we prefer to use Entrezgene ID and not gene names because sometimes there is some ambiguity. There are many gene names for one gene. So be careful and try to use the official gene symbol. If you use Excel, you're going to have also trouble if you use the gene names because many genes like octfo, september 4 or septfo are going to be changed as a date. And if you have thousands of rows, you may not notice it. So be careful if you use Excel and it's very, very difficult to obtain a 100% coverage. So you are going to have missing value. So if you really need 100% coverage, try to use different sources and try to correct, to add manually the missing annotations. It could be due to this problem, but sometimes you have Entrezgene ID that don't have a gene symbol and things like that. So it's not like 100%. The databases are not overlapping at 100%. So that's why you have missing values sometimes. I mean, all the times, you have a few missing values sometimes. And depending on the tool that you use and the version that you use, then you may have this missing value. So if you use Excel, so this is the example of all these genes that were converted to date. So if you use Excel, open first Excel, then open your file. You will have this text import result. Select your column with your gene symbol and set the column as text. And this is another example from the, you have to be careful with the gene names. It's a paper that has to be retracted. They were working on HES1. But this name has, these genes, there is another gene in the database that has the same name. It's quite old, but still. Two names, HES1. So the researcher thought he was working on Harry and instead of Plit1, but it was working on the other one, human homologous HES1. So all this, this paper was false. Yeah. Okay. It's quite old. So I think now the databases are a little bit better and it's more standardized, but yeah. They had a nice paper, but not the wrong, but the wrong gene. So and this is like a nice and easy tool that we are going to use in the lab, the signer geyser to convert from one gene, one identifier to the other one. And you also can use Biomart and we will also use Biomart. So our recommendations map everything to interest in ID. If 100% coverage is needed, then try to manually add the missing annotations. Be careful of Excel auto conversions and what have we learned. Genes and their products and attributes have many identifiers. Genomics often requires conversions of IDs from one type to the other. But there are tools that exist that exist and yeah, use common ID like interest in ID, Refseq. Okay. So now gene attributes. So gene attributes come from the pathway databases. This is and it will store all the functional annotations. And so when we speak about pathway network analysis, we are more interested by function annotation. But we may be interested by other features like chromosome position, disease association, DNA properties, protein properties and all these features. You can find them in a genome browser. And this one, the function annotation in the pathway databases. There are a few pathway databases. Generally you know gene ontology, there's also keg, reactome, biocarta. I'm going to talk about gene ontology. And this afternoon you are going to talk about like reactome, biocarta and keg. So what is gene ontology? So it's the largest database. It's updated very regularly. It covers many organisms. And it's freely available. It covers three major aspects of gene function. Cellular component, molecular function, biological process. Okay. So plasma membrane would be a cellular component. This enzymatic reaction would be a molecular function. And cell division would be the biological process. So when you do pathway network analysis, normally you care about molecular function and biological process.  It contains terms. And each term in the databases is related to each other. And it's like a hierarchy. And at the top of the hierarchy you have the more general terms. And at the bottom of the hierarchy you have the more specific terms. And you have two kind of relationships either or part of. Like this red is part of and this one is A. So here at the bottom you have the term B cell apoptosis. So B cell apoptosis is part of B cell homeostasis. But it's a type of apoptosis. Which is a type of programmed cell death. Which is a type of cell death. And so we called parents and children and child. So this child can have multiple parents. And this parent can have multiple children. And now GO is going to associate one gene with GO terms. So you can have multiple associations. And this is an example of how GO associates information to this gene, Proc1. So it's manually curated. This is a paper about these genes. Proc1 describes the function of Proc1. So receptor like kinase would be the molecular function.  Integral membrane protein would be the molecular component. And wound response would be the biological process. This is a manual creation. And you can have also electronic creation that are not from papers, but are from prediction, bioinformatics prediction. So you want to know the association, how the associations were created. So these genes were associated with this GO term by IC, inferred by curator. This is what we called evidence types. And these genes, PSMD4, was associated with this GO term by TAS, traceable author statement. This is the one I have presented here. You have this IEA, inferred by electronic annotation. This comes from predictions. So depending on your case, sometimes the tools offer the choices. And you can remove this IEA if you don't feel confident about this annotation. And when you have a GO term and you want to have more information about this GO term, then there is like a tool. There's different tools. But one of these tools is KRIGO. It's a very simple web tool. And you can enter your GO term number. And you have a lot of information, like the term information, ancestral chart, ancestral table, child terms. And we are going to use it during the lab. And the other database is KEG. I think you know it. Biocarta, reactor, ingenuity, which is commercial. So this is the only one that is not freely available. And pathway comments that regroup all this database are going to be presented this afternoon. And this I've mentioned already. All these other attributes, you can find them using genome broader. So Ensembl Biomart is also a web tool that is really easy to use to retrieve all these gene attributes. So you have your larger gene list. You can copy and paste your large gene list and retrieve these attributes. And we are going to use it during the lab. So what have we learned? Gene attributes define functions, characteristics of a gene. Many genes attributes are stored in databases, like GO, KEG, reactor. And many gene attributes are available from Ensembl and Entress Gene. And this is just for your information, different URLs and source of attributes. OK, now we have our gene list with the right identifiers. We have our functional annotation. And what we want to find is the overlap between the two. And we are going for this, we are going to use enrichment tools. So there are many tools that exist. And we can define these tools into three categories. The first one is functional pathway analysis. The second is class scouring. And the third one is pathway topology. This first one represents the most simple one, like David, if you know. It's ideal if you have a gene list from, I would say, 50 to 500 genes. You just have the gene names. You don't have any values associated with your genes. The second one, a class scouring. So if you have a larger gene list and you are able to have scores associated with these genes and you can rank your genes, then you can use these tools. And one example is GSEA. And the third one is pathway topology. So pathway topology, it uses the functional annotation. But in addition to that, it uses the relationships between your genes to build the network and to score the significance of your results. So let's say in your gene list, you have 10 genes that are from a given pathway, pathway A. But in these 10 genes, you have five genes or inhibitors of the other five. So it means you have five genes that activate, five genes that inhibit these genes that activate. It makes sense that if you just had 10 genes, that go in the same direction to activate your pathway. So pathway topology uses this information to build the network. And you are going to see an example this afternoon with the reactome-fi plugin. So you are going to see that in much more details this afternoon. So what is Genset Enrichment Analysis? You break down the cellular function into Gensets. So different Gensets. And you are going to find the overlap of your gene list and these Gensets. And you want to see if this overlap is significant or not. So does it occur just by random change or not? So the tools that, in general, what they are going to do is calculate the overlap. So here, this is my pathway A. And here, this is my 100 genes that are significant. And let's say I have 30 genes that overlap between the significant genes and the pathway. Is this overlap larger than expected by chance? How can I do that? Then I will select randomly 30 genes out of the genome. Let's say 100 genes, because I have 100 genes. If I select randomly 100 genes, what are the chances that I get 30% overlap? And I'm going to do it many, many times to be able to build the significant score. For the simple tools, so the first category that I showed you, they usually use the Fisher's exact test. So I have here five genes, four black, one red. And the background population here is my genome. In my genome, I have 4,500 red and 500 black. What is the probability or what is the chance to get four black and one red in my gene list? So the first, the null hypothesis that my list is a random sample from population. But if I reject the hypothesis, it will be, yeah, well, it's not by chance. I have more black genes than expected in my list. So first, the Fisher's exact test is going to build the null distribution randomly. So what is the probability? This is my genome, my genome universe, to have five red balls. So I take five genes or balls randomly. What is the probability to take five red? 57% because we have more red than black. What is the probability to take four red and one black? 35% and so on. And what is the probability to take four black genes and one red is very low because you don't have that many black genes in the genome. And let's say that the black genes are one particular pathway and this is apoptosis. So then your cutoff would be this value. And the p-value of the Fisher's exact test is going to be the sum of the p-value that are equal or less than my cutoff. So the probability is 0.001, which is less than 0.05. So you can be confident that it's not expected by chance. So to have in my list four genes that are belonging to the apoptosis pathways is not by chance. So all these tools are using this kind of concept. We usually test for the over-representation of a pathway in our gene list. But you can also test for the under-enrichment of your pathway, of a particular pathway, but it's very rare. For this kind of test, you need to choose your background population. Normally, if you use a genome-wide experiment, you don't need to set the background. But if you work with an array that is not representative of the whole genome, then you need to set your background population. So what we did, we have calculated this p-value for this particular gene set. We need to do it for all the pathways that we are testing that we have in our databases. So we test many, many pathways. And then normally the output of an enrichment and pathway analysis is like a tabular format with all the gene set we have tested and the p-value. And we ranked from the most significant to the less significant. And because we are testing so many, many pathways, we need to correct for multiple apoptosis testing. So that's why when you see the output of an enrichment analysis of the p-value, and after the p-value column, you usually have the FDR. So the FDR is the false discovery rate. It corrects for multiple apoptosis testing. It's the expected proportion of the observed enrichment due to random chance. So if you have an FDR of 15%, it means you have 15% chance to have a false positive. What is the best cut out for the p-value to say that's a random count? Yeah, usually people say 0.05. It's arbitrary. It's always better to rank from the most significant to less significant, because 0.05 is from an equation. So it's a theory. But usually it's 0.05. And so usually the FDR is calculated. The most common is the Ben-Germany-Hauberg correction. And it's often called the Q-value. So what we learned, the typical output of an enrichment analysis is a table. And the minimum information that you will have are the pathway names, the number of overlapping genes between your gene list and your pathways, the number of genes in the pathway, like apoptosis has 500 genes, the p-value associated and the corrected or adjusted p-value. And this is usually the output. It's not very clear. It's difficult to interpret. And also there are many, many pathways that are related to each other because they are genes in common. So that's why we use network visualization to output the results as a network. And we use the cytoscape software to do that. So cytoscape is an open source software used to visualize complex networks. It's open source. And there are a lot of apps that we call plugins for different tools. So first you have to download cytoscape, and then you have to download the plugins you want. Or you can create your own plugin. The advantage of network, the major advantage is that it enables you to represent relationships. So you are going to be able to represent the relationships between the pathways if you do a pathway network or the relationships between the genes if you do a gene-gen network. So two basics. First, you need to understand the concepts of nodes and edges. So again, two network possible, gene-gen network, each node or each circle node is a gene. So this gene is related to the other one by an edge. If you have a pathway network, each circle or node is a pathway related to each other to the other one by an edge. Here the association between gene-gen could be, OK, we know that they physically interact. Or you can have an arrow to say this gene is an activator of this one. On the pathway network, it could be the number of genes that overlapping between the two pathways. And the second thing you need to know is the automatic network layout. If you don't have any layout, we have something like this, like a hairball. You don't see anything. So you take the output of your annulment result and you put a network with that layout. It looks like this. So you cannot make any conclusions. So you need to make a layout. And cytoscape has a different automatic layout. So I think the most common is the post-directed layout. So nodes repel each other, and edges pull. So if the nodes are very connected to each other, then the edges are like springs. And the nodes are going to be close to each other, like a cluster. But because nodes are repelling each other, they will not overlap. So you can see each one of these nodes. And OK, so I hope you installed all cytoscape. And this is just a basic introduction, in case you haven't done the tutorial. So when you open cytoscape, you have three parts. The first one is the control panel. The second is the data panel. And the third one is the results panel. Each time you create a network, you can save your session and open it later. To navigate through the network, it looks like we have like a large network. You don't know how to navigate through the network. You go in control panel to network, and you click on that. You have like a blue square. You can click on this square and move it around to navigate through the network. Then the layout. So you go to the menu, layout, cytoscape layout, and you can choose the one you want. You can play and add a lot of visual features. You go to control panel, vizmapper, and you have all these choices. And you can modify the shape of the node, or modify the node size, and many other things. And you can do this beautiful network. Nodes are in different colors. Edges are also in different colors. It could be also the thickness of the edges. If you want to prepare a figure for publication, then you can use this visual feature. But it also helps you to define clusters and make the things more interpretable. So what have we learned? Networks are useful for seeing relationships in large data sets. It's important to understand what nodes and edges mean. Automatic layout is required to visualize the networks. Visual attributes enable multiple types of data to be shown at once. I'm just going to show you two examples of cytoscape plugins. The first one is Bingo. And it does like an enrichment analysis, like David. So using the Fisher's exact test, exactly as I showed you. So all in cytoscape. And he used the gene ontology database. He uses Go. So the output is a tree that is related to the Go hierarchy. So it's the general terms at the top of the tree and the more specific terms at the bottom of the tree. And the color indicates if it's significant or not, like a significant enrichment or not. And another interesting plugin could be clustering. Sometimes you have a large network and you need to cluster your network. And this one is MCOD. And MCOD enables you to cluster your network. And you see all these genes that have been clustered in your network. And at the end of my slides, I have a few cytoscape tips and tricks. I think that you can, I put them in the lecture for you so you can read after the workshop. So I won't read it now, but you can read it. So network, this one is a root graph. Network reviews, sessions, login, memory, cytoscape directory. This is an active community. So you can go to this website and you are going to find many tutorials and a list of all the plugins that are available. And it's a community that is growing. And that's it. And now we are going to go to the lab.


On today's Visual Studio Toolbox, Scott Hunter recaps all of the amazing things the.NET team showed at Build. Hi, welcome to Visual Studio Toolbox. I'm your host and joining me today is Scott Hunter. Hey, Scott. How's it going, man? Great. Thanks for coming on the show. I'm super excited to be here. It's right after Build. I know. I know you've been pretty busy with Build. There are a lot of things that were announced, but I thought we would do in this show is review what you guys said at Build, what you shipped, what you announced, and then we'll spend time talking about what it all means. We'll give people pointers to the videos and the demos. You and Scott Hanselman did a great 30-minute video and a really great hour-long video that we'll have pointers to. Everybody should go watch that. Then what I really want to do is go a little bit more high-level and figure out what it all means, what you guys are thinking, what we as.NET developers can look forward to, coming down the pike, and we'll do that all in a reasonably short period of time. Cool. All right. Let's start off with a recap of Build. Yeah. Let's show a couple of the slides that I had at Build. Sure. We always start off talking about, Robert, when you probably started using.NET, if you probably remember, we used to only have desktop and web. I do. Then over the years, we've had Cloud, mobile, gaming, IoT, AI, .NET's grown a ton. People always ask me when they see me, it's like, well, .NET's been around 18 years. How is .NET doing? We've added a million five .NET Core developers, we shipped .NET Core in March of 2017. That's when the tools showed up in Visual Studio. It's only been about three years, a little more than three years. Stack Overflow just ranked us in their 2020 Developer Survey as the most loved web framework and the most loved other framework. That was both AS.NET Core and .NET Core. For a project that open-sourced in 2014, we are one of the fastest highest velocity projects in GitHub. C-Sharp is the number five language in GitHub. We're seven times faster than Node.js, and it's taken by our benchmark, a public benchmark that we work on. A lot of the people that are using our tools are brand new. We have 40 percent of our .NET new developers are students. Not only is ASP.NET Core seven times faster than Node.js, but it appears to be dramatically faster than ASP.NET based on the full framework. That is true. There's a variety of reasons that come to that. When we built ASP.NET web forms, the version of ASP.NET system web that's in .NET framework, we tried to maintain the most compatibility we could with classic ASP or ASP server pages, what they were called at the time. What we did is we took all the objects from ASP.NET or ASP server pages, and we cloned them into ASP.NET. What this means is every request that comes to system web allocates all of those objects, which ended up being upwards of 20 or 30K per request. If you look at something like .NET Core, it allocates on the order of one or two K per request. There's a 28K difference in the amount of memory used, and what you find as a developer is, the less memory you allocate, the faster you go. Yeah. Let's talk about adoption. Once again, I just said earlier, we're 18 years into this thing. In last year, we added over a million brand new .NET developers. Never used the tool before, and I think that 18 years into the life of a framework, that's a great number. Yeah, it's amazing. Of those, 600,000 of those were .NET Core developers. You see that momentum happening around our open-source cross-platform lightweight version of .NET. Then the crazy thing is, one of the visions of .NET Core was to run on Linux, because we saw the world of servers moving to the Linux platform in containers and stuff like that. We saw over a million developers use our tool chain to actually output a Linux publish from that, which is amazing to think that Windows only tech in 2014. In 2019, we have over a million publishes, not necessarily to the Cloud, but at least to your local machine, which you could copy somewhere. Right. Then Robert, you're so familiar with this. As we shift .NET over the years, whether it was 1.0 or 1.1, 2.0, 3.0, 3.5, 4.4, 5. Most of our developers took years to move from one .NET to the next .NET. When I first joined Microsoft, I struggled with this. It's like, man, it takes forever to get the customer on the new version. With .NET Core 3, 75 percent of all of our customers had at least tried the new version within the first six weeks of shipping it, which has never been done before for us. So it's super exciting. Now, let's talk about some of the new stuff that we announced at build. We had two things that we announced at build. We shipped Visual Studio 16.6, which is the new version that supports some of these new features, and that's the stuff you can try right now. Then after that, we're going to talk about some of the stuff that goes beyond that. First off, we shipped a new product in .NET Core 3.0 in September of last year called Blazor. Blazor is some pretty cool tech. It's like, if you go to modern websites, they all have what we call a spa, single-page application. They feel kind of desktop-y. When you click around on the whole screen, it doesn't redraw, they're very fluid, and every app that you build with Blazor works that way, except normally those spa applications, you're right with the JavaScript framework like Angular or React or View, but now we let you actually write these apps fully in .NET. C-Sharp, they can run on the client, and C-Sharp, they can run on the server. At build, we introduced Blazor WebAssembly, and this is a really cool upgrade to the tech where we actually can run C-Sharp inside of your browser. So why might you want to do that? Well, if you're C-Sharp's running in the browser, it can take advantage of the CPU on the user's computer. It can run offline, meaning that you unplug the network or we did a demo at build where we were showing an app you might check in a car at a rental car facility, and maybe sometimes it can't find the Internet. Well, because the C-Sharp is running in the browser, it can keep running and storing stuff in local storage, and then when the network comes back up, it can re-synchronize to it. When you build one of these Blazor WebAssembly apps, you get a checkbox to make it a progressive web app, and that's when the browser will say, hey, this app can actually run as a desktop app. You want to install it as a desktop. You click that box in your browser, and then suddenly you'll show up on the start menu. It'll run without the browser Chrome on it. It's super cool, and it's now available in the.NET Core 3.1 SDK. We also announced that.NET Core 3 came out with WinForms and WPF support. Even today, we still have millions of developers building desktop apps, because these frameworks are super fast and easy to build. But we've been trying to catch up on the tool side of this, and we shipped 16.6 at build, but with 16.6 also came the previews of 16.7, and preview one of 16.7 available now. These can run side-by-side, is close to having all of the controls in the WinForm designer available for you to use. Once we ship 16.7 preview two, then we'll work on third-party controls. But as a WinForm developer, it's going to be easier to move from.NET Framework to.NET Core, because you get that same designer support that you expected. Then finally, the last big announce it builds is we shipped a framework called ML.NET about a year ago. It's a.NET Framework for building machine learning. Now, machine learning is complicated. Examples of ML.NET you might be using today that you're not aware of, is if you have a device that supports Windows Hello, that's where you can look at the screen or the camera, and it'll sign you in, that's using ML.NET. If you're using PowerPoint and it suggests some styles to you, that's ML.NET. But our job in Visual Studio is to make your life as a developer easier. So what we've done here is we have a tool inside of Visual Studio where you can actually go click the machine learning thing you want to do. We'll walk you through a wizard asking for images or text or whatever, and then we'll actually build a model for you and inject the source code to consume that model directly into your application without you having to know a lot about machine learning. So we think this is a super exciting direction. That's cool. It seems like it has the possibility of hiding a lot of the plumbing that you might eventually want to learn, but to just get started, it'd be nice to not have to figure that out first. Exactly. Then we go off the rails here a little bit and we talk about, this was a dream of mine. I joined Microsoft in 2007, and a bunch of my colleagues Phil Hack, Scott Hanselman, Damian Edwards. We all talked about this notion of .NET at that point in time was kind of fragmented. There was Silverlight, there was Windows Phone, there was Compact Framework, there was Mono for Xamarin, and could we get .NET back to a simple platform? We started with .NET Core, but now that we've shipped .NET Core 3, we want to drop that Core moniker and switch to .NET 5. The idea here is, let's take the best parts of .NET Framework, .NET Core, and Mono, and when I say the best parts, I mean if you were going to build a brand new app today, we don't want to go take the oldest tech from .NET Framework and move it in. We want to take the modern tech you would use building a brand new application. While .NET might have had .NET Remoting, today we think GRPC is a much better solution, so we don't bring it over. We take the best of those three frameworks. We merge them together and that becomes .NET 5, and this will ship this November. It has a single SDK that can build all of those app types. It's got a single BCL. I mentioned before, Mono and .NET Core and .NET, we want to have just one base class library that stands for that's where your strings and date times and a lot of the types you use are, and with .NET Core, we introduced this new ability to say .NET new run. We want all that to actually be for all the app types. We want to have awesome support for cross-platform native UI. If you want to build apps using native controls that run on Windows, Mac, Linux, iOS, Android, we'd love to do that. We want to have awesome cross-platform web UI, and I showed some of that today with the blazer stuff that we talked about. We want to have everybody's heard these terms, and I'm sure you've heard a million times, Robert, containers, Kubernetes, microservices, Docker. We want .NET to be awesome in that space. Then of course, we always want to make it better in size, and speed, and diagnostics, and stuff like that. We really think that the end of this wave of .NET 5 and .NET 6 that we're going to have the best breed solutions for all those current workloads. The one .NET really appeals to me because right now, there are three things as .NET Framework, there's .NET Core, there's Xamarin running on Mono, and there might be something that you want to use in an app, and then you discover that the version of the framework you're using doesn't support that. I wanted to use async main in a Xamarin app and it's possible I couldn't find it, but I think it's because Mono doesn't support it.  One of our goals is, we hope that's going to happen with this transition is, we break those scenes down. You get exactly the same features for every one of those app types, whether it's a desktop app, a Cloud app, a mobile app, an IoT app, a gaming app, the exact same feature set across every single thing, the exact same tool chain. I think it will really help the platform and we're going to do something else cool as part of this too, that I think is exciting. When I say single SDK, one of the things that.NET Framework sometimes gets is it's big. It's got a lot of stuff. We want to make even the SDK modular, which means when I install the.NET 6 SDK, all I'll get by default is going to be class library and console apps. I'm not going to give you desktop or ASP.NET or mobile unless you ask for it. So imagine having a really, really tiny lightweight SDK and you do something like.NET add mobile or.NET add web. I think that's going to be cool too, and we want to open it up to the third parties as well. So third-party libraries can actually do.NET add their library, and they can use the same features that we're using to compose our own framework. Right. This is a big area of stuff that we talked about at a build and Windows has some really cool new features that just came out. A new version of Windows just came out about a week ago as well, and that is the Windows 10 2004, and it supports something called WSL. WSL stands for the Windows Substitution for Linux, and it lets you actually run Linux native on your Windows machine. This is cool for a.NET developer because I can actually build a microservice and maybe my target is actually going to be Linux. I'm going to run it on a Linux server in the Cloud. I can develop locally in Visual Studio and control that five and F5 directly in the Linux, just as fast and natively as I could run it on Windows on that same machine. Always trying to make microservices smaller. So in this case, I showed a demo where I took a microservice that was 45 megs in.NET Core 3, and in.NET 5 it was 17 megs. Then probably the coolest thing on this list of things here is we've all built. I'm sure you've done this, Robert. You need to have a.NET app, and maybe it's got a front-end app, maybe it's a web front-end, and it's got a back-end app that's an ASPnet web API. Maybe it even needs a SQL server. Getting Visual Studio Toolchain to launch all those the right way and swap the ports between them is all complicated, and so we have this new thing called TI. With TI, I can literally do run the app one time, and we'll run all the apps, and those apps can be either.NET apps or they can be containers. But you don't have to write doctor files or anything like that. So if you just say, I want to run this image, and we'll go and do all the heavy-looking for you, and that's our investment in the microservice space. This is something that you and I have talked about before this, Robert, and this is cross-platform native apps. Yes. This is an exciting thing. We're introducing .NET multi-platform app UI. That's a mouthful, and so we're going to abbreviate that down to .NET MAUI. And obviously, .NET MAUI runs on the .NET platform, and what it gives you is it gives you cross-platform native UI. So against all those targets, it'll do Windows, Mac, iOS, and Android. Hopefully, we can do Linux as well. This is one of the coolest aspects. If you've ever used a Xamarin project, they're kind of complicated. They have a project for each of the platforms. So you have an Android project, and an iOS project, and a Windows project, and a shared class library. In this case, it's one single project, one single code base to build all those targets. From that single project, you can just right-click and say, deploy, and from that deploy, you'll get a list of all the devices that you might want to deploy to, and they'll just run. One of the things that I showed Robert a couple of months ago, is one of my favorite features is, it's a feature we've added to Xamarin, where I can basically take a Windows PC, plug an iPhone into the Windows PC, and run my app on the iPhone. Yeah. I don't have to have a Mac or any special things. I can do it all with a free developer account from Apple. And so for the first time ever, you can actually build and deploy for your own testing, apps directly from Windows to your iPhone. Yep. And this tech is actually just an evolution of Xamarin Forms. I like to think that this is the next gen of Xamarin Forms, where you're taking in what was successful, and then made it easier to use with the single SDK, the single projects, the run on multiple devices. Something else I should call out here is because we can run on those multiple devices, I can now build the app locally with no emulators, because I can just run it on Windows, or on my Mac. I can build it locally and run it on the Mac, which means I don't have to wait for that, the slower emulator to actually work to get that app to run. The .NET MAUI is gonna actually be in as, and they're calling the one .NET as a .NET 5 slash .NET 6 wave. We'll have previews of .NET MAUI out with .NET 6 towards the RC of .NET 5 later this year, and this is awesome native UI. One more thing I wanna talk about in this space, Robert is, you might have to ask me, what about UWP? A lot of customers have asked us, what are we doing with UWP? Yeah, because the Windows guys announced, are talking about WinUI 3, and then I've heard about their plans for WinUI 4 and beyond. So WinUI 3, I think targets .NET 5, and then they're talking about WinUI 4 as being the UI that would be native cross-platform. Exactly. A lot of customers have asked us, hey, when with .NET Core 3, where was UWP? And Robert has nailed it. The Windows team was already working on something called WinUI 3, and this is basically an evolution of UWP. It kind of gives the developer more choices. UWP required your app to run in a kind of a contained environment, a container, which gave it security constraints. If you wanted to go to like test the file system, that was hard to do. UWP had different features, depending on the version of Windows 10 you ran on. And WinUI 3 is very similar to .NET Core, where they shift the actual framework with your application, which means it works on all the versions of Windows 10. And then as Robert said, it supports both .NET 5 and C++. And the cool thing is, as you said, Robert, if they get to the point when there's a WinUI 4 that actually works on all those platforms, maybe even .NET MAUI uses WinUI 4 as it's back in. We don't know that yet. We have to wait and see where things should. But that's a- The addition to or instead of Xamarin Form XAML? Well, remember, let me step back a second. So Xamarin Forms today, what Xamarin Forms does today is it actually uses a variety of different tags. So if you're on iOS, it's using the frameworks on iOS. If you're using Android, it's using the frameworks for Android. If you're using Windows today with a Xamarin application, it's using UWP as its implementation. So for all the platforms that Xamarin runs on or .NET MAUI in the future will run on, we use whatever the best native tech is for that platform to render the controls. So when you write a button, it's a Windows button on Windows, it's an iOS button on iOS, it's an Android button on Android. So the .NET MAUI apps can use, that's the rendering platform. I think you're asking a question, what about the XAML that you actually use? Yeah, that's true. There's a distinction. Yeah, separate those two things a little bit. So as the set of native controls, that's what you were saying MAUI would use moving forward. Then there's the question of what do you use to lay out the design time? Is it XAML or does it wind up being something entirely different? So it was a great conversation with Scott. We then went on to talk for another 20 minutes, so we decided to split the episodes in half. Please join us for part two, where we talk about what this all means for developers. Thanks for watching guys. I'll see you guys in the next video.


Everyone, get ready! Introducing! LeBron, alright! I want a good clean matchup. You guys listen to your referees. Your judges will tell you and warn you if you do an incorrect rap. Alright? Do only a lot of one bad rap. After that, it will not count. Alright, let's compete, get ready. In position, pull-ups. You guys are right there. Leo, turn around. Face it that way. Leo, turn around. Eat it. Turn around. Alright! To the timer on. Press okay. Ten! Nine! Up position. Go to the squat. Walk, walk, walk, walk, walk. You guys work out every day. Let's go. Push it! Push it! Push it! Keep pushing, keep pushing. Catch your breath, guys. Catch your breath. Find that rhythm. Don't force it when you're out of breath. Find that position. Dumbbells go. Push it, guys. Push it.


Where's the moral compass of nowadays leaders? Well, I mean, that would put me in a bit of a difficult position. Of course, our leaders have the greatest moral compass out there. And, you know, I can't comment on the moral compass in the West, but there does seem to be a bit of confusion. But were you allowed to comment on that? Or why not? You know the best. I was going to say I'm not going to comment, but then I would comment. Okay, good. Thank you. It's just a little manipulation distraction. We look at Western countries and think where is your moral compass? Where is your backbone?  And there seems to be a kind of a tolerance of absolutely everything and a bending over backwards. And that sort of, that worries us. And so we, you know, and I think that's had a kind of a positive and reinforcing effect in our own societies where we've actually taken control of very powerful narratives. We've actually, we've gone to analyze them and to see what are the forces that are driving them? What are they preying on? And, you know, clearly we in the Middle East have greater control over these public narratives and funding for it. And so we're attacking the funding sources as the initial point. And we have been forced in a situation where we've limited certain kinds of narrative because of the instability that they induce and because of the preying on anxieties of, you know, very traditional understanding of Islam colliding with the modern world. Technology being, you know, the greatest force there. So in a sense, we never really took a proactive role in defining ourselves. We were very, particularly in the Emirates, we're a very small country. We focused on economic development and making sure that the finite resources that we had could be well-spent. Now we've come to understand that actually there is the life of the mind, that, you know, means travel vast, that social media has a great tremendous effect and a destabilizing effect on the cohesion of our societies. And so it's recognizing the life of the mind and mental health at a government level, which is a massive kind of break with traditional taboos in the Arab world. Well, this is our kind of beginning to actually acknowledge anxiety as a mental state. But why is it that you lost your faith in the Western world? I think we've spent so much time interacting with the West, with the US and Western Europe. And we've seen a kind of... I suppose we have fairly clear ideas of ethnicity. And then we turn up in London and all of a sudden you can't find a Londoner or an Englishman in London. And you begin to wonder, well, what's going on here? Where am I?


Are natural antivirals as effective as pharmaceutical antivirals? Hi, this is Dr. Ruscio and a very exciting study was just published that compared the effectiveness of natural antiviral treatments, or a natural antiviral treatment, to a pharmaceutical antiviral treatment. And I'll put the results up here on the screen. But essentially, acyclovir, which is a prescription, was compared to a natural compound that contained melatonin, 2.5 milligrams of melatonin, magnesium, phosphate, and fatty acids. And they were treating oral herpes. Now what they found was that in the natural treatment group, 95% saw complete regression within seven days. The prescription group, 85% saw complete regression in seven days. And there was a significant difference between the two groups, showing that the natural agents had a statistically significantly better effect than the pharmaceuticals. They both worked, but one worked a little bit better. Now why is this relevant? Well, certainly for someone who has oral herpes, and you're trying to manage it, then you may want to consider using a natural compound, something that has similar ingredients like melatonin, which is a sleep aid and also a pretty powerful antioxidant, and has secondary health benefit properties in place of a pharmaceutical. Now there are many other types of viruses that people can sometimes be concerned about. Epstein-Barr virus is a virus that is often times discussed when people have fatigue or chronic fatigue syndrome, cytomegalovirus, parvovirus B-19, and some of the other herpes simplex strains like 1, 2, 6, and 8 have potentially been implicated in auto immune disease. There's a lot of data showing association between viruses and autoimmunity. Now whether or not treating the viruses will improve the autoimmunity has still yet to be determined, but if you're someone out there who has an autoimmune condition and you're trying to manage a viral piece, then looking at some of these natural antivirals may be something that can be helpful. And again, this study is reassuring because it shows that natural antivirals worked comparably to prescription antivirals. So what this may mean is that if you do have an autoimmune condition and a virus present, then this may be helpful. Again, or I should mention, I should clarify that this study looked at oral herpes, which is one of the herpes simplex family viruses. But many other viruses like cytomegalovirus and Epstein-Barr virus are also members of the same family. So it stands to reason that this same natural antiviral approach used in this study may be helpful for some of these other viruses. We can't say that for sure, but certainly it's a reasonable inference to draw. So if you're wondering where viruses kind of fit into your entire healthcare picture, we've recently recorded a podcast that went into greater detail about the different types of viruses, how to test them, and then when to know if they're actually a problem and need to be treated or if they're not actually a problem. Because it's actually somewhat normal to see evidence of viruses in the blood. And it's important to know the difference between when that's a normal finding and when it's something that requires treatment.  Dr. Nick Hedberg came on the show and we had a discussion about that. And you should see this entry pop-up. We'll also put the link in the transcript associated with this post. But in any case, if you're someone who is trying to get healthier and you've come across this issue of viruses, then the podcast can help you with knowing what some viruses are and how to test them and some treatment options. And this study is very reassuring, showing that natural agents are as, if not maybe, more effective than one of the typical pharmaceuticals for viruses. So it's a nice evidence showing the power of natural medicines. And again, I think natural medicines have a lot of attractive properties because they have secondary health benefits. Like melatonin has been studied because of its very strong antioxidant properties. Whereas we don't see that same thing with the prescription acyclovir. So if we can treat something with a natural agent that has side benefits rather than side effects, then that makes it all the more attractive. So in any case, this is DrRusher. I hope this information helps you get healthy and get back to your life. Thanks.


All right. Let's find out what's happening at the stadium right now. Meredith Marokovic standing by with the clubhouse report presented by your local Ford stores. And Meredith, it has been a great run of starting pitching and the Yankees hope that that continues this afternoon. Bob, it's been an unbelievable run. They really have been impressive. And if you look at the fact that they've tossed at least seven shutout innings in each of their last four starts, it is remarkable. And the guys responsible for it started with Corey Kluber and that no hitter followed by Domingo Herman, Jordan Montgomery and Garrett Cole. The last time that they went seven or more shutout innings in four straight games was 1932. It has not happened since 1932. So when you think of it that way, it really is impressive. And that's what teammates and manager Aaron Boone said earlier today. The group of guys we got, you know, that's one thing I think our team went out and decided to do was go out and get some of the best pictures around.  I think it's just, you know, getting better each start, each game he pitches. He's getting better and better. And then to have, you know, Garrett Cole at the top of that and, you know, getting Domingo back.   So it's been fun to watch them all been on defense. I've been getting much work, you know, when those guys are on the mound.  But, you know, I think it goes back further really for the better part of a month. They've been, they've been really solid and strong and tone setters for the whole team. And it's James and Tyoun's turn this afternoon. And Jack, as you mentioned, we've seen it at times. He's had great stuff, but he's really lacked consistency. And one thing that I took away from yesterday's zoom is that Tyoun believes he's capable of much more.  So I need to step up regardless of who's waiting in the wings and who's coming back. But that being said, it is early in the year and I've got a lot of starts to write the ship and go out there and get things done. But yeah, I mean, it's a great rotation. They've been pitching extremely, extremely well. I'd love to go out there and match it. But at the same time, I'm definitely aware of the fact that, you know, I'm not doing what all the other guys are doing. And I'd love to step up and start taking part in that. And the Yankees would love for him to do so. I asked Aaron Boone earlier today what Tyoun needs to do to take a step in the right direction. I think it's just obviously getting a little more consistent in some of the outings where where, you know, he hasn't finished off a good outing. But you know, we're seeing everything stuff wise. We're seeing enough success from him. You know, I think in some of those games where he has struggled a little bit, you know, he's been victimized a little bit by a long that long inning where he hasn't finished off some hitters. When he's gotten them to two strikes or even even in some really good two strike counts, oh, two, one to there's been some games where he hasn't put guys away and, you know, hopefully he continues to get better and better in that because everything we're seeing from him stuff wise suggests that he should do really well. There are a couple notes when it comes to today's lineup. Aaron Judge will DH so the outfield from left to right will be and do hard Gardner and Clint Frazier. Frazier had missed the previous five games with some neck issues. But Aaron Boone said he is good to go. There are no concerns there anymore. Also noteworthy Luke Voight is back in the lineup at first base and Gary Sanchez will once again catch Jameson Tyone earlier today on the field during optional batting practice. John Carlos Stanton was out there getting some reps in the cage. Now he's eligible to come off the injured list next series. I asked Aaron Boone whether or not he would be coming off the injured list and he said we'll see he is moving in the right direction. He has been working out the last couple of days and certainly a good sign to see him on the field.


Russian President Vladimir Putin arrived on November 9 to Astana for a rare visit abroad. He was welcomed in the airport by the President of Kazakhstan Kassanjomar Tokayev.Thursday's visit is Putin's third known trip abroad since the Hague-based International Criminal Court, ICC, issued an arrest warrant in March for the Russian leader on war crime charges, something the Kremlin strongly rejects. Kazakhstan, like China and Kyrgyzstan, the two other countries Putin has visited recently, is not a signatory to the ICC, the ICC, which accused Putin of illegally deporting children from Ukraine, obliges the court's 123 member states to arrest Putin and transfer him to the Hague for trial if he sets foot on their territory.Kazakhstan's Tokayev, a career diplomat, has carefully maintained neutrality in the Russia-West standoff and welcomed Putin just a week after hosting French President Emmanuel Macron. A United States delegation, led by a senior State Department official, visited Astana this week.


Do you ever get that feeling that you're not really making much progress in your goals? Maybe these are long held goals you've had them for maybe maybe years and you just feel like you're running into a block you're stagnant with the goal it's not making progress you don't feel like you're growing as much anymore. I'm going to address a question here about this and I'm going to give you some advice as to where is that feeling coming from and how can I actually start to make progress in my goals again? How can I start to get that feeling of making daily progress momentum is building I'm growing in terms of my goal. So hopefully it will be of interest to you and the question starts off it says I feel like I'm stagnant in my life and not making any real progress. Many of the areas in my life in which I've been trying to improve have plateaued and I'm not making any real progress. I'm frustrated and as I'm not exactly sure why sorry I'm frustrated as I'm not exactly sure why I stay consistent in my goals. So it's not about consistency which is interesting this person feels like they are being quite consistent in engaging with their with their goals which and then obviously you would expect them to be making progress but they don't feel like they are fairly consistent anyway. I feel like I should have made more progress by now given the time I put in and the length of time I've been trying to see improvement. I keep trying to take action but I'm feeling stuck and getting frustrated. A question is from Brian and I hope this issue or this this response here Brian will be helpful because and I'm hoping it'll be helpful to other people as well. I've started feeling I've been stagnant and I'm not making progress. Okay so action action part is there. You're taking action fairly consistent action anyway and consistency sure it is an important part of it but what I would say is nowhere in in your question and maybe you just didn't get into it but I just want to check with this nor did I see you refer to something I called the wealth. Many people call it your mindset. What is your mindset like? How have you been addressing what your mindset is like? So as a culture we are obsessed with action now action don't get me wrong is important action for all of us in our goals will it look like yep I take consistent action for sure that's that's pretty fundamental but what we're not so good at in our culture is what mindset am I in before I start to take action? We are totally oblivious to the importance of this so to become intentional before we take the action now that's not just something to say here in a glib way in a video you should be more intentional work on your mindset well that it's an investment really I'm inviting you to consider making here and the investment is okay action sure it's a big part of it for me how am I going to start addressing what my mindset is like before I take action and what I would suggest for people is before you do anything just sit down for a few minutes and be committed to the action for sure but just to sit down for a few minutes and allow yourself to get in touch with what your feelings are maybe even write down how you're feeling about this and it could be well today I don't feel particularly good about this taking this action but I feel like I have to take the action or else I won't make any progress just honestly like that okay right now I feel overwhelmed I feel tired I feel frustrated that I'm not making any progress with this I'll try to understand well where is that frustration coming from before you move into the action sit with that for a while and then you may notice that your emotions start to change or at least you feel like your emotions have been validated and heard and then move it to the action part just to acknowledge that okay I'm taking some time to be mindful about well where my mind is what is my mindset like before I move into action in that any action that you're trying to be consistent with particularly goal-oriented action super important to start looking at that now many people won't like that advice because as I said as a culture we are obsessed with action action action at all costs but what I'm saying is sharpen your process make the action you take more effective by understanding well what's my intention what am I actually trying to do here with this not only what I'm trying to do how am I trying to feel when I do it people think well that's too long it's gonna make sure it's gonna it's gonna take away time from the actual doing the actual doing is important but there's that quote of I think was Abe Lincoln if I had six hours to chop down a tree I'd spend the first five sharpening my axe just to get into the intention set a space in your life for I'm going to do some inner work here before I engage with this to find out what my intention is and to have a positive intention so all the action you do from that place will be taken with intention intention behind your action is a huge huge part of it it's not simply action for action sake because you can stick in that pattern of action action action and you can be consistent with it and after many many years you realize this isn't working for me I'm feeling exhausted I'm not feeling engaged with it I may even come to resent the thing that I'm trying to grow in and improve in so it's it's to become more conscious of what your mindset is and become more conscious when you're taking the time to reflect on things like that you're becoming conscious of the fact that I'm growing now I'm acknowledging the growth that's that's there and that's taking place because sometimes we don't even see the growth that's taking place because we're so busy in action practical terms let's say you're doing a hobby or something that you're trying to improve in some time beforehand what's my intention just give yourself that space and maybe later on after you take the action maybe even at the end of your day you can just reflect back on what was that experience like for me way more investment in the psychology behind it than just purely action and what I would say is for procrastination again this is advice I give to the procrastinators that contact me this is a huge part of procrastination making it so that you actually don't mind going towards that thing that you're working on because you're acknowledging any emotions that are there for you rather than burying them or berating yourself or having them or not feeling good or not feeling motivated so I hope I'm in clear about that all I'm saying in this video is set some time before you take action to look at what your intention is and trust me in the long haul if you invest in that you will get way more done anyway you'll see way more growth you'll take way more action because procrastination won't be an issue anymore anyway so invitation to do the inner work and invest in it because you will not be sorry and I promise you that you'll start to feel better emotionally too it'll be a big big changer for you I hope that was a helpful answer and if anyone has a question or they'd like to learn more about my procrastination resources you can just visit my website Dr. Dave Maloney.com and I'll see you in the next video bye for now


What is going on guys welcome back to the channel and I appreciate you being here today I am back with another destiny top 5 video and today we have top 5 lucky salute drops of the week But before we go into the video guys, if you do enjoy it leaving a like really does help out and if you're new around here And enjoy daily destiny 2 videos be sure to subscribe Also, if you have any amazing clip you want to share with the world send it into the email address the link at the top of the Video description let's get straight into this top five in that number five We have a clip sent in by QP one with one two three I believe that's pronounced. I added this for the simple fact. It's the one exotic I still need on my hunter. Hopefully and Nick gives me that look not have a clip sent in by Josh in nature I can tell you I've done many many last sectors I have found them through the roof never had an exhaust from one though Damn, just lucky have a clip sent in by 17 Apollo 08 this dude is just shitting out in grams. Damn Okay, don't they know what midway notion What's XO they keep me two legendaries and an XO We have a clip sent in by an over angel one or three.  Yeah, I said I was gonna get the surface and I got it from the from the daily Yes In the number one we have a clip sent in by King strong style for the guys out there yet to get the 1000 voices This will truly piss you off for sure. The fact that you already has it to wow just effing wow Age But guys that is the end this top five lucky's loot drops of the week We enjoyed it leaving a like really does help out if you are new around here and enjoy a daily destiny to videos like top fives guys Reviews live gameplay is just about everything. Make sure you subscribe and if you never want to miss a video out Hit that bar buttons turn notifications on but again, thanks for stopping by hopefully you enjoyed the video and hopefully I'll see you on that next one