recording directly. So welcome everyone, also if you're watching this on Moodle, recording is going. So I think we should just jump in. We have a lot to discuss. Well, not a lot, a lot, but we have some things to discuss. So stream will be starting soon. No, we already started. So first off the assignments for last week, plots, plots, plots, making nice plots. And then I want you to give you guys an example of what you can do. Because up until now, all of these topics have been more or less kind of disjunct from each other. So the assignments are more or less about the lecture. But I thought it would be good to show you guys what what you can do with what you have learned already. So what you have learned already is a lot. And I just wanted to take like some things from different lectures. And then I want to show you how you can visualize the COVID-19 pandemic on a world map. And that should be something that you should be able to do by now, more or less with the tools that we've been discussing. All right, so let's switch to Notepad and let's show you guys my answers. Is it big enough? Can you read this? Because I've been muddling a little bit with the setup because I had a presentation yesterday for some guys in America. So it might be that the font size has changed a little bit and that it's not readable. So if you can't see it, just let me know. I actually didn't even open up an R window yet. So I didn't scale that one. So let me do that now. Let me get my R window, get my Notepad plus plus. All right, perhaps zoom in a little bit. All right, so one more zoom level and then I will take the R window and fit it kind of to where it should be. All right, so let's go back. So in the assignments, we first had to read in three different files. So it's a little bit bigger now, right? So I think everyone should be able to see it. So of course, like all my scripts start off the same. So lecture number five scripts. Could you upload the PPT? Yeah, I forgot that. Thank you for reminding me. Let me directly log into Moodle and give you guys the PDF so that you can write on the side. Data analysis using R, turn editing on, get myself a window, documents, stock acts. No, this is PowerPoint. Then I want the R course and then I want to have the PDFs. So I'm just going to throw it on Moodle. I'm not going to make a title or a header for it yet. So it should be all the way on the bottom in Moodle. There should be something called lecture six statistical testing. So all right, with that out of the way, loading in three files. I hope everyone was able to load in the files. I had one question during the Tuesday question round, someone who couldn't load in the map. And that was because they were using the read CSV functions and they were specifying all of the different column types, which didn't seem to work because the map is a little bit strange. So it has multiple or let me just load it in for you guys. So let's move to R. So when you load in the map, you can see that the map has four columns, but it only has three headers. And that's of course, because the first column contains the row names. And that's why when you want to specify the call classes, you have to specify four column classes. So the first column class is, of course, character, because it contains the names. But it doesn't have its own header. There's no ID or something like that above it. So in the file, you first have three tabs. So cr tab, mb tab, cm tab or enter. And then the next line contains four elements. And that kind of messes up when you try to load it in. But this time I made the files in such a way that you can just use the read table. And the only thing that you have to set is set the check names to false for the genotypes, because the genotypes have, I think, numerical names. So the names are not starting with a character. All right, so then the first assignment, let me load the assignment, load in the different data sets. So we did that. Okay, and now some basic curves. So let's analyze some data. We'll start with phenotypes. The d number measurements stand for the day of weight measurement. The column wg2 is the litter size after two days. So it explains kind of what the data is and how you can load it in and what you can do with it. But the first thing what we wanted to do is create a global growth curve showing the mean weight for all animals combined. Try out different plotting types and select one that you like best, right? Because plots are a personal thing. I can tell you how to make plots, but in the end you have to use it. And you have to say, well, this looks good to me and I want to use this. So the way that I did this is I first define a variable called days, and this will contain the names of the columns, which contain measurements, right? Because there's also columns in the phenotypes that are not numerical values. So this just gives me an easy way so I can say phenotype and then select the column days. And days contains the different measurement points. So from 21 days to 70 days. So that's the only weights. So that's what I call it. So I take the subset of the phenotype matrix and then store it in a new variable called only weights, which just has the weights in there. And then I just use the apply function because the apply function allows us to do something for each row or each column. So what we're doing is here is saying for the only weights matrix that we just defined, go through the columns and calculate the mean. So this calculates the global mean over the population. And then I say type is l because I want to have a line, then I want to have some weights on the y-axis and the weight is in grams, the x label is time and that's in days. Don't plot an x-axis because I will do that myself and then say loss equals two so that it flips the y-axis. So the way that this looks in r when we go to r is that it makes a plot which kind of looks like this, right? So it's not a very pretty plot, but at least it shows you that my start off at 21 days being around 10 grams. And at the end of the experiment there are around 40 grams on average which are pretty big mice. So hey, you can see the plot and you can learn something from it. Of course I want to add my own x-axis so I can just say at axis number one, right? Because I use the only weights, the first column gets plotted as one, the second column gets plotted at two and so on. So there's eight different. But I want to of course have the days on the x-axis, right? So I'm just going to say at 1 to 8 plot the same days that I just selected, right? So just say 21 to 70 by 7 because we measure them every week. So let's just copy paste this into r and then it shows that 21 days up until 70 days. Although internally in r, this is one and this is eight, right? So we just put our own x-axis on top of the standard x-axis in r. So this is the first assignment. So I had just creating an overall weight graph. All right, then the next thing what we want to do in 2b was add things like mean and standard deviation. So I'm doing the same thing what I did before and now storing it in a new variable called means. And I do the standard deviations by applying two only weights to the columns, the function standard deviation, and then I'm saving them as SDS. So now, of course, I need to set up my plot a little bit more different, right? Because now normally r, if I would just say like plot and then use the means, right? Then the maximum value that you will get is the maximum value in the plot. But of course, if we want to add the standard deviation, then at the last time point, the standard deviation would go out of the plot. So to prevent that, I'm setting up my own plot window. So I'm saying, well, my x range is from one to the number of means that I have. So the length of means, the y range goes from zero grams to the maximum of the means plus the standard deviation, right? So that it all fits within the plot. And then the x label and the y label are going to be the same. Don't plot the x axis because I want to overlay the time points on there. And then here I say type equals none, because I don't want these two points plotted. If I would not say this, then there would be a point at one zero and there would be another point at length means, so at eight versus the maximum value. Last equals two, again to flip the y axis. And then I'm just going to plot three times. So I'm going to say plot the means using a line. Then I say plot the means plus the standard deviations using a line and then plot the means minus the standard deviation using the lines, right? So let's see how that looks. So let's go to R and let's show you guys how that then looks. So this will just create like this. So in the middle we see the mean and then around it we see the standard deviation. So we see that head on average again, the mice are still 10 grams when they're 21 days. And you see that there's some variance. And we can see that at later time points, the variance becomes bigger, which is logical. Some mice grow much heavier than other mice. And so the longer you wait, the bigger the difference in the body weight between different mouse range. So this was the first type of plot, right? In the example or in the assignments. The second type of plot is a little bit harder. And there's actually a sneaky way of doing this. So to have like these error bars in a more sneaky way. So let's show you how I did this. So I use type is h. So h is a horizontal line, right? So instead of making a line that goes through the data points, what it will do now it will go from zero up to the data point. And at the next it will go from one to the data point and then from two to the data point. So it will just draw a line, which is a horizontal line. I do the same thing again. So I set up an empty plot. Then I plot my mean in the middle, right? So this is the average. So this is just a standard line that I normally do. And now I plot the mean plus the standard deviation in the h way. And now I do the same thing for the mean minus the standard deviation, but I make it white so that they overlap. So let's go through this step by step. So let's go to R, right? So let's set up an empty plot window like this. Let me move this one out of the way a little bit. So here we have the empty plot window. Then I'm going to add the first line, right? So these are just the means. Then I'm going to add the means plus the standard deviation, which will look like this. And now I'm just going to blank out the lower part by saying everything from mean, or from zero to the mean minus the standard deviation, put a white line on top of the black line. And that this will, of course, then make it look like this. And tada, we have our plot with the standard deviations in the other way. And of course, we could still add the other plot to make it a little bit nicer, right? So to show something like this. So maybe we can do a lot of things and be flexible with plotting. So is this clear that you can kind of use this trick where you just say, give me horizontal lines and then put white lines, white horizontal lines. So you have a big line from zero to the mean plus the standard deviation. And then you have a white line from zero to the mean minus the standard deviation, which kind of hides the other line behind it. I hope everyone was able to figure that out. There's other ways of doing this. You can use like lines and other functions. But I think it's a nice little trick, because you can just, because it's an artist palette model, right? You can draw something and then just take another paint brush and then just paint over it. So you have to remember that that's always an option, that if you don't know exactly how to do something, you can just say, well, I know how to do this. And then I'm just going to paint it out and just pretend that I didn't plot the other things. All right. So next assignment is assignment number three. We're now going to split up in different worthgrocer groups. So that means that based on the amount of children that a mother had, we want to split it into different groups, right? Because the assumption is, is that if you come from a very small family of mice, there's more than enough milk for you. So you can grow a lot quicker than if you're from a very large mouse family, right? If you have to compete with like 10 brothers and sisters to get milk, then you have to compete. So you're not going to have a lot of energy to put in your body weight. While if you only have two brothers and sisters, then there's not that much competition. And there's like milk aplenty for you. So you can kind of get much fatter. So create a multiplot that shows the growth curve per group, either in style of 2b or in style of 2c. So hey, you're free to choose whatever you want. I don't know what I chose. Let me see. I think I used, yeah, I just made a little function. So I say plot s2c. So I, wait, I'm missing something. Why not the medians? Oh, right. Yeah, sorry, I'm skipping one assignment. So create a new line plot that shows the median at each measurement date. And in light gray, all the measurements for the different individuals. So that is 2c. So I totally forgot to do that. So again, the same thing. I take my only weights, which is the subset, which only has the weights in there. And across the columns, I know I'm going to apply the median. And then I'm going to remember that. So let's go to R and show you guys. So now we have the medians at each time point. So it's not that different from the mean, as long as you have enough measurements. And now the trick is, is that we can now just basically use a standard for loop. So we get so from here to here, we just say, go through all of the rows of this only weight, because every row contains a single individual. And then we're just going to plot the individuals. So we're just going to say plot from on on from x from one to the length of medians, y is the C0 to the max of only weights. And then we're going to add points. Wait, this doesn't seem right. This plot should be outside. So we're first going to make an empty plot. And then we're going to go through each of the rows. And then we're going to add the like lines. And then after we've done all the lines for each individual, we're going to over plot the median on top of it using a more a big black kind of double colored line. So we calculate the medians, right? Let's go to R. We make an empty plot like we did before. And now I'm just going to go through all of the rows of the matrix. And I'm just going to plot all of the lines. So here you see the growth curves for each individual. And then after going and plotting all of them, I'm just going to put the medians on top of it. And this is then the median growth curve. So you can see that some mice get up to 60 grams. Some mice more or less get sick halfway during the experiment, and they start losing weight. And like the smallest mouse ends up at around 20 grams. So that's what you can see. And of course, we do want to plot the x axis as well. So we want to have the days on the bottom. So here we visualize more or less every individual in using a little gray line. And then we plot the population median on top using a black line. So that was question 2c. All right. So now we're at question 3a, where I was talking about the difference in the mice. Had that if you come from a small family or a big family. So the thing is, if you want to make multiple plots, it's always smart to take a plot that already worked and then just make a function around it. So the way that I did that is I just took this plot, right? So that's the plot from 2c, going through all of the individuals. It's the exact same code. But instead of having the code work on this variable called only weights, I define a function called plot as 2c, which is a function which gets a weight subset. So all the occurrences of only weight in this, in this piece of code in 2c, I now change only weights by weight subset. So that's the subset of animals that we have selected. And then I have a function, right? So now I can easily take the only weights where the phenotype worth gross of 2 is smaller than 10. And then I take the same thing, but now I take only weights where the worth gross at two days is larger or equal to 10. So again, I take my subset that I already had and I divide it into two. So individuals which come from a family, which is small and individuals which come from a big family. I'm using the par for setting up the parameters, so to making two plots next to each other. And then I just call plot as 2c on WGS, so worth gross is small. And I'm doing plot as 2c for WGL, which is the worth gross at large, so the large families. All right, so I'm going to just show you guys how this looks in R. And go to R. And so it will use this kind of plotting schema. So we will just plot the different individuals. And let's make it a little bit bigger. So hey, it's the same plotting code. But now we split out into two groups. The only thing which I forgot in this plot is that it doesn't have a label on there. So let's add the label, right? So give another thing here. So main is the title of the plot. So when I go here to plot, I can now just say, well, main equals the main that I'm going to give it. And here when I do the plot, I can say small, and I can say large, right? Just so that from the plot, I can see which one is which without having to look at the code. So let's go into R and replot it. And now we can see that indeed.   And indeed, we can more or less directly see that the individuals more or less start off being relatively similar, although these are slightly larger than 10 grams. These are more or less 10 grams. But when they are more or less fully grown at 70 days, you still see that there's a massive difference. And the animals that come from small families end up being around 40 grams, while these end up being around 35 grams. So there is a big influence of the size of your or how many brothers and sisters you have on the body weight at the end of the experiment. And we can see that the biggest mouse from the large family group is around 52 grams, while the biggest mouse from the small family groups end up being 60 grams. So we can we can just observe that. And that teaches us something about the influence that the number of brothers and sisters that you have has on your body weight at 70 days. All right. So in 3B, we want to create four times two notched box plots, one for each time point, showing the combined data of the individuals in the two groups, label the groups correctly. What do we learn about the effect of litter size on body weight, right? So from this plot, we have the hypothesis that individuals from large families become smaller. But is this really statistically significant? Well, for that, we can use the box plot function and we can notch it, right? And then if the notches overlap, they are not different. If the notches do not overlap, then there is a significant difference. So I'm doing the same thing, right? So I'm again in 3B saying, well, make two times four plots. And then for day in days. And this is nice because I already defined my days variable all the way on the top, right? So that I can just say, well, go through each of the days independently. And then I just say, make a box plot where you combine or where you take the worth grosses small on this day, compare it to the worth grosses large on the same day. And then the main head, I'm going to take the day variable g sub the d by day so that it looks a little bit better. I'm going to notch them so that we have these nice notches on the side. And then I'm going to put litter size on the x-axis and I'm going to put weight in grams on the y-axis just so that I know what I'm looking at. And I'm going to plot of course my axis myself because I have to tell or I have to inform or show on the plot that at one, we have the small worth grosses. So we have the small families. And at two, we have the large families. So heavier have the small and the large. So how does this look? Well, let's just copy paste this into R. And this is more or less how it looks. So you see at day 21 that indeed the individuals coming from larger families are already significantly smaller than the ones which come from the small families. Although when you look at the range, right, you can see that the range for the small families is much bigger, right? The smallest animal at this time point was actually coming from a small family and not from a large family. But you can see that across all of the time points, there is a significant difference. And that is because at no point in any of these plots, due to two notches more or less hit each other, that they're always separated, which means that there is a very significant difference or a significant influence of the size of your family compared to your eventual body weight. And already you're starting body weight at 21 days. Alright, image. So any questions so far? If you had any remarks, then just throw it in chat. It's if you have like a different strategy or or answered it in a different way, then just tell me. And although Twitch chat is not that good for code, if you want to send me code like I did it this way, then just put it in my mailbox. Alright, so question number four is use the data from the genotypes txt and first use the data from map.txt to subset the genotypes for a single chromosome. After you've created subsets, e.g. for chromosome one, create an image for the chromosome showing the different snips in the order in which they occur in the map, right? So this means sort the map on base pair location. So let's just go and go through. So for a, I am going to use the sort function. I'm going to say, well, from the map, take the positional argument, which is the mb, which is the mega base position based on this genome build, sort them. And I'm not that interested in getting the sorted values back. I'm interested in the ordering, right? So I'm going to say index is true. And this will give me back the indexes. So let me show you what I mean. So let's just go to R, right? So if we go to R here, and we look at a little bit of the map, right? So let's look at the first 10 elements, we can see that this map is completely unordered. It's not sorted, the base pair positions are not sorted, and even the chromosomes are not sorted. So I can then use the sort function on the map. But when I use the sort function directly on the map like this, then it will just sort all of the different positions. But I'm not really interested in the sorted positions, right? I want to know how I should reorder them. So then I can add this index equals true. And now I get a list with two elements. So the first one will still be the same as before, right? The x, which is the sorted values. And I will also get an element called ix. And here it will tell me which ordering I need to use, right? So it tells me that the smallest element in this column was at position 414. The element after that, so the one after smallest element was at 1208. And then the next one was at 2819. So the ex are the indexes. And I can just use the indexes to reorder. So when I take this and then store this in a variable called ordering, then now ordering has two elements. Let me see. So right, it has the x, which is the ordered values, and it has ix, which contains the indexes. And now I can just use the indexes and then say, well, take the map, use the ordering that we just figured out, and then plot them like this. And now when I let it roll, you can see that now at least the positions are ordered from lowest to highest, right? So it's just an increasing order. Of course, the chromosomes have not been ordered. So I have to still order the chromosomes. And the problem here is that you can't really use sort to sort the chromosomes, because that's a little bit problematic, because chromosomes are not numerical values, because you can have chromosome x, you can have chromosome y, you have mt for the mitochondrial chromosome. So you can't just use sort. So the way around that is the way that I generally tend to do it is just say, well, I first reorder the map based on the base pair positions. And then I'm just going to create a variable called new map. And I'm just going to go through the chromosomes, pull out one chromosome from the map, and then row bind this to the new chromosome. So what I'm doing is because everything is ordered by the position, pulling out chromosome one will make a matrix for chromosome one, which is also ordered. And then I just say, well, then take this, take this, these markers and put them on the new map, and then go to the next chromosome. And in this way, I can use a vector to determine the exact ordering that I want. Because the default ordering for character values is going one, 10, 11, 12, all the way up to 19, then you have to 20 and so on. So it's not the standard ordering that we will use when we order things by chromosome. So let's just order the map, right? So we're just going to go through the individual chromosomes, take them out and then recombine them. And then I'm going to say that, well, the new map, right, the one that we just created override the old map. So now when we look at map, at like the first 50 elements, it looks like this. And so now we have chromosome one, and the markers are ordered in the correct ordering. So from smallest to highest. All right, so then we have to do all of the other steps, right? Because we now want to make an image. So the first thing that I have to say is that I want to go back to one plot, right? Because R still is set up to create two by four plots instead of one by one. So what I'm going to do is I'm going to go through all of the chromosomes. And then I'm going to say on chromosome, right? So I'm going to ask which of the chromosome of the chromosome column on the map matrix are equal to the chromosome. I'm going to subset that and then I'm going to just ask for the row names. So I'm going to use the names. So on chromosome will contain the names of the markers which are on chromosome one. Then I will take my genotypes. And because I have the names of the markers which are on chromosome one, I can use the names of these markers to subset my genotype matrix as well. And here again, I have to do a little trick because I can't plot character values, right? Because let me go to R. So when we go to R and we look at the genotypes, then the genotypes look like this, right? So we see that the markers are here and here are the individuals in the columns. And we can see that, of course, we can't plot this because R doesn't know how to plot an A, a B, or an H. So R needs to be aware or when we need to convert this from H, H and B coding into zero, one, two coding or one, two, three coding because we can plot numbers but we can't plot characters. So the way to do this is kind of standard. I use this a lot, right? So I say take, so across this sub matrix, right? So across the markers on this chromosome, apply to the columns a function of X. And now I'm just going to say, well, I'm first going to take my character value, make it into a factor, and then I'm going to convert the factor to a numeric. And this will work, of course, because there's only three possible states at each marker. So you're either A, H, or B. So this just, this works. So going from a character, we can go to a factor. And from a factor, we can then make a numeric value. But we have to go through the factor level, because a character cannot automatically be converted to a numeric value. I then put the row names back. So I convert them to numeric, but in the process, for some reason, I lose the row names. So I put the row names back. Is it only me who can't see the chat? How do you mean you can't see the chat? You just typed in the chat, right? Or am I misunderstanding? I can send something in chat. Can you see that? Let me change my mood as well. I'm going to go to zombie mood, because I'm green. I'm wearing green today. Okay, now I can see. Yeah, perfect. Okay, good. Yeah, solved it. Yeah, hello. Good. So yeah, I'm losing my row names when I do this transformation. So I just put them back. And then I use the image function to just say, well, get this thing, do it as a matrix. And I'm just going to plot 20 by 20. Because otherwise, they will be really big, right? So and this is a for loop. So it will plot all of the chromosomes one after another. So for showing you guys how this works, I'm just going to say, do it for chromosome number one, right? Because that's the one that we want. So first, I have to switch back to one plot, right? Because we have eight plots, and we only want one. And then what am I going to do? Well, I'm going to take on chromosome. So I'm going to ask which markers are on this chromosome. And then I get on CHR, which is just the names of the marker. And I can use this to then subset my genotypes, right? So I'm going to say, well, genotypes on chromosome. So this is just the markers that are on chromosome one. And then I'm going to use this apply function to make them into numeric. So when we would look at genotypes on chromosome, and we would look at, sorry, on chromosome, and we would look at the first like 10 by 10. Then it would be like this, right? And when we now change this to that's not the best name ever. Then you now see that it has converted them. So the H is converted into a three, the B is converted into a two, and the H is converted, and the A is converted into a one. If this is the coding that you want, then that's all fine. You could change your coding as well, because you can kind of set the different levels that you are expecting. But this is perfectly fine because these are now numerical. So we can now just use the image function to plot those. And of course, you see here that we lost the row names. So we have to put the row names back on this thing. So now when we look, we see that we have the row names back, which is really good. And now we can use the image function to plot it. So it looks like this. So chromosome one, here we have the individuals in this row are in the y-axis. And on the x-axis, we have the marker. We could actually plot the whole thing. I don't know exactly how many markers and how many individuals there are, probably a lot.  And then what do we want to do? Well, we want to actually plot the names on it as well. So here in very, very small, we see the names of the marker. And here we see the names of the different individuals. But of course, this is way too small to see here. But of course, when you would do a PNG, so you can write it out as a PNG, then you could just make a very big PNG. You could just say I want a PNG, which has 3000 pixels in the horizontal direction and 2000 pixels in the vertical. And then of course, it would be readable again. So that's the way that it works. So in the answers, I already have like a PNG and a dev off here. And so in case I want to save it to a PNG file, I would just say PNG. And then what's the file called like plot.png or whatever I want to want to call it. And then I could just uncomment this and give these to give these to a little bit of extra room and then say dev off. And then it will close the device and it will make a PNG. And if I want to make it bigger, then of course, I could just say why is like 10,000 pixels. And then it would make for a very, very wide plot. But then of course, there's some issues with that. But that's the way that it works. All right, so that's more or less for right, open a plotting device, PNG or a pack and these kinds of things. All right, and now the chromosome plot. So I think this was the hardest, although the code was more or less given into the in the in the lecture. So from the data, create a chromosome plot showing the locations of the markers on the chromosome, use the code that was given during the lecture. So it's more or less the exact same thing as what we had before. What am I doing? So I'm loading the chromosomes. So which chromosomes do we have? And then I'm making my own chromosome infrastructure, because I need to know how long every chromosome is, right? So I'm just going to say, make a matrix, fill it with nas. So it's the length of the chromosomes. And there's only going to be one column. And the names are the chromosomes on the x axis. And on the columns, I want to have length, right? So I'm just making a very, very small chromosome infrastructure. And then I'm going through all of the chromosomes, and then adding the maximum length in this little matrix. Because for every chromosome, I need to know how long it is. If I want to plot, I plot it. So that's the way that I'm doing it. And then I define a variable called m length. And this is the length of the longest chromosome. Because I need to know how long every chromosome is, but I also need to know how long the longest chromosome is, because I need to set up my plot window. And the plot window is going to range at the y axis from zero to the maximum length. And on the x axis, of course, from one to the number of rows in chromosome info. So the number of chromosomes that we have, don't plot anything. Don't make a x axis. Don't make a y axis. And don't put any labels there. Just make a completely empty plot. All right. So how does this look in R? Right. So when we do this, and I can show you my chromosome infrastructure as well. And this is nothing more than just chromosome one has a length of 194 million, while chromosome x is 153 million. So that's just what it does. And it also does the m length. And m length is of course the length of chromosome one, because by definition chromosome one is the longest chromosome. All right, then we have this empty plot. And now I can just switch you guys back to here. So now I have my empty plot right. And now I can just use the upline function, say that I want to have horizontal lines, which go from zero to the maximum length and make them blue and dotted. Right. So I'm just going to add some lines, every 10 megabases, which is one E seven, one E six is a million. So this is 10 million. So every, every like 10 million, I'm going to make a line and add it to the plot. Right. So here I have my really nice blue dot. And now I can kind of see where I am on the plot. And then I'm just going to plot all of the different chromosomes. And how am I going to plot the chromosomes? Well, I'm just going to define a variable called count. And again, this is because chromosomes can be characters. So they can be x, they can be y, they can be empty. And of course, if I want to plot something at x position, empty, that is not going to work in R. So I'm just going to say, well, I'm going to apply to my chromosome info to one. And of course, you can do this with a for loop as well. Right. You can say for x in one to the number of rows of chromosome info, but I'm just using the apply function because it's a little bit quicker. So I'm going to apply to this chromosome infrastructure through the rows of function and x will contain the row. And then I'm going to say, well, give me a lines. The x position is count count, right? So at one, one, take the length and make the line go from zero to the length of x, type is line, make it black, use a filled line and make a line line y width of two. And then what do I have to do? Well, I have to update my count. And you see here that this is the first time that I'm using this double arrow, right, to assign outside of the function. Because I need to, every time that this loop runs, I need to go one further into the plot. So this is the only time in my entire programming career of like 16 years that I use the double arrow. So where I assign outside of a function. And this is not because I'm lazy, this is just because I need to update this count variable. Because otherwise I don't know where in the plot I am. So I'm just going to copy paste it in and show you guys how it works. So we're going to just go and plot. So this is zero one, one. And this is the length or so a line from zero to the length of chromosome one. So here we see the different chromosomes. Of course, this plot is not done yet. What do we still have to do? Well, we still have to add an axis. And we have to add the markers. So I'm going to use the same structure again, here for my chromosome plot. So I'm going to say apply to every row of the map a function of x. So what am I going to do? Well, I'm going to match the chromosome that I'm currently on to the chromosomes, right, this chromosome structure, which just contains one, two, three, four, five, six, x, y, and m. And I'm going to match them. And match will give me the numeric position of the current chromosome in the list of chromosomes. So if I'm looking at x, it will know that, oh, if x matches to this vector, then it is 20 because chromosome x is at position 20. The y location, so the y lock, so the height where I want to plot my straight line is, of course, given by the position of the marker, which is x megabase position. And then I'm just going to use points. I'm going to say add x comma y, use a straight line, make it blue, and make it twice as big as normal. And then, of course, when we do this, then we will, on the map, start plotting all of the different markers. And that looks like this. Right, so now we can see that, oh, one chromosome one, we have a little gap here. We don't know from where to where it is. So we have to add the x's. So I'm just using the x's function to put the x's on the one side and on the other side. It just doesn't fit entirely. But if I look at it like this, so now we can see that on our genetic map, we don't have any markers from like 22 megabases all the way to 40 megabase. So this area is an area where we have no information on. But for example, this area we have a lot of information on because there's a lot of markers which are very close together. All right, so this is how you do the chromosome plot. I hope everyone was able to do it and at least try to do it. I didn't get as many questions as I had expected, but I got one question that I actually want to talk to you guys about. And that is using the par function. So we know that when I use the par mf row, right, I can set the number of plots that I have, for example, 2 comma 1, and then I just do plot 1, 2, 10, and another. So now I have two plots on top of each other. If you use an output device, you have to set the parameters for the output device, but they have to be inside of the output device. So let me show you how that is done. So if I would do something like I would do png, right, my png dot png, and I would do a plot 1 to 10, and then I do another plot 1 to 10. And I now want to have these things on top of each other, right? Of course, I have to do def off to close my device. Then if I would do my par mf row to 1 on top, then now I'm changing the plotting window in R. If I move this one within the plot here inside of the png, right, so inside of this output win, now this parameter is applied to the current device, and the current device is now the png device. And this is something that goes wrong often. And one of the students had an issue with it. So I think I want to mention it very clearly that this means the parameter applies to the R plotting window, the current window, which is open. This is now the parameter applies to the png. So because this par always pertains to the active window. And outside of the png, right, so between png to def off, the png device is the active device. But here, when I have no png def off structure, then of course the active device is the R plot window. So just so that you guys know as a little example, let me remove it. And I hope that's clear. So if you want to change like your font size, and you do your par, and you do that before you do the png, then the text in the png will not be bigger. And this is usually a source of like, where is the error? Because I'm changing my font size, I'm making my font size three times as big, and I see nothing changing in my image. Where is it going wrong? And 99% out of 100, it will be that you're you're setting the par before you're opening the output device. So if you want to set parameters, always do that after opening the output device. All right. That's it for the assignments. I'm just looking at my list. But yeah, that was it for the assignments. So I wanted to show you guys something else as well. And last year, I went through it in great detail. And tell me if you want that, but I just wanted to show you like in the in the PowerPoint, I promised that, right? So I'm going to give you an example on how you can plot data on a world map, for example, COVID-19 data, or flu data, or whatever data that you want. And this is kind of showing you all of the different things that we discussed during the last five lectures, to show you that you can actually make really good looking plots already, if you combine all of the things that we've learned. So I wanted to show you something like this. And first thing that I need, if I want to plot something on a genetic map or on a world map, I need a picture of a world map, right? So I took my picture from the world map from here from solarsystemscope.com. They have really nice textures, like for earth, the moon, Mars, Venus, all of the planets in our solar system. And I just downloaded the earth texture and I scaled it down to 50%. Because they are really, really high definition. So that means that there are literally like millions and millions of pixels on there. And I didn't want to have that many. So I scaled it down to 50%. The COVID-19 data I get from GSSEC and data, which is the main data provider from the John Hopkins Institute. And you can actually download the data directly from GitHub. So the data is located at this position. So it's called GitHub user content. And then you have the provider COVID-19 data. And then I want to get the time series data. And they provide data not only on the number of infected people, but also the people that died and on the people that recovered. But we're just going to get the confirmed cases globally, because I'm not interested in the UK or not just interested. I want to have all of the numbers. So the thing that I can do, and I told you guys that that's possible, is that you can directly read from a URL. So I'm just going to do read CSV on the URL. And I'm going to read it in. And of course, I have to set the separator, say that there's a header and these kinds of things. And I'm going to change the missing values by zero. So if a value is missing, I assume that there were no infections that day, which of course can be true, but it cannot be true. All right, so let's copy paste this in and have it download so that we don't have to wait too long. So it's just going to read in. So if we look at infected, the matrix that I just downloaded, this is the matrix that you can kind of get online, right? So it has first the province or state, then the country, the region, it has a latitude and the longitude, it has a date, and it has the number of people who were infected at that date. And I think it's the cumulative number. So every day, the number goes up, the number never goes down, because that the number going down would be the number in the recovered column of the other data going up. So that was the first thing, right? So this is the data that we want to visualize. And we already seen like this reading binary data from a BMP file, right? So it's just a standard BMP file that I created. It's 1024 by 512 pixels. I just got it from this web address. So I'm just going to use the code that we had to get the red, the green, and the blue channel. And then I'm going to plot this image using this pointillism style, which we had in the previous, I think lecture three or four, when we were looking at binary data and reading in data. So of course, I'm just going to read in this image, and then I'm just going to create my plot. And I'm just going to show you guys how this looks. So I'm going to plot, and then I'm going to use points to put the color onto the plot. So let me show you guys how this works. So I'm reading in the binary data, and then it's relatively slow because it has to plot every point. And then it just plots the world map into an image in R. So that looks like this. Let me make it a little bit bigger for you guys. And so what it will do is it will just like plot every pixel and make the right color. So it will take the color that you had in the original BMP image, and it will just put it here. So we see Antarctica, we see Antarctica, Greenland, Europe, and these kinds of things. Let me make the plot a little bit better, right? Because the world map that you normally see in Mercator Preactors is a little bit bigger than it's not as wide as it is high. So here we can see a very good reflection of the world map. So now the next thing is I want to select some countries, right? Because I'm not going to plot all of the countries in one go, because then the whole map would be covered. Well, not at the beginning of the outbreak, but currently, like there's a lot of COVID going around. So we should select a couple of countries. So I have selected France, Germany, the Netherlands, Austria, Portugal, US, and China. And then the thing that I'm going to do is I have the infected matrix contains the number of infected. And I'm just going to ask which ones of the countries slash regions are in my selected countries and regions. So I'm just going to make a subset like we've been doing a lot of times. All right. So let's just do that, show you guys in R, and let's make a subset. So now when we look at infected, and we look at the first 10 columns, we see that we have like Australia, China, France, and the Netherlands. And of course, some of these countries are split up in multiple regions. And because the Netherlands still has some of its old colonies, just like France has, and China of course has their data separated by each of the different provinces, which is perfectly fine. All right. So let's go back to notepad plus plus. So the next thing that I'm going to do is load the ColourBree or library, because I want to use very fancy kind of colours which are optimised for people who are colour blind, so that they can still see something. So I'm going to select, so I have one, two, three, four, five, six, seven countries. So I want to have seven colours, so the length of selected. And I want to get them from the accent set, which is one of the prepared colour sets that is available in ColourBree. And then I'm going to say, well, I store this as cold.countries, and then I'm going to give the names of the countries. So I'm going to give the colours names, and these names are of course the names of the countries that I have selected. So let me show you how that kind of looks in R. So when I look at cold.countries, I now have for each country a certain colour that has been assigned to it. And of course, I think I made sure that the Netherlands is actually orange, because that's our colour. All right. So next step is get the number of infected people on a certain date. So last time that I did this, we were at 7, 9, 2020. So that's October, 7th of October, I think 2020. Of course, we could change this to like today, which would be five. Well, let's take a couple of days back, because the dataset might not be accurate up until today. So let's take the 24th of May, and then look at the number of infected. So now if we look at an infected, it shows us the number of infected people for each of the different regions that we have been looking at. Of course, I need to scale this, because I, oh wait, you couldn't see the R window, right? So here we see the number of infected people for each of these regions that we have selected. So there's a lot, a lot of infections in the last country, which is the US. And since the US is not split, all of the current infections in the US are listed in one number. But every region or every country which has a certain region, we just get the number of infected people at like three days ago. All right. So what do I want to do then? Well, the thing is, is that this is the big trick. And this is going from having the latitude and the longitude. So head latitude and longitude are based on a glow, right, which is a ball. So what we are going to do is we're going to say, well, let me kind of look here, right? So if we look at this map, then 00, latitude, longitude is actually more or less here, right? Because the zero meridian runs through London all the way to here. And then we have the equator and the equator runs around here, right? So the 00 point on this map is around here. But our map in R starts here. This is 00. And this is 1024 by 512, right? Because this is just all the pixels that I had in my image. And my image is 1024 pixels by 512. So latitude and longitude speaking, this is 00. But for R, this is not 00. For R, this is 512 by 256. So we have to modify our longitude and longitude so that they kind of correspond to the map. Otherwise, everything will be shifted. So the way to do this and to get rid of this shift is say, well, I take the latitude that I have, and then add 90 and then divide by 180, right? This is kind of a transformation where you say, well, I take my point, the latitude point of 00, then I add 90 to it, and then they divide by 180. Because latitudes run from 0 to 180, while longitudes range from 0 to 360. Right? So I'm just moving the range to fit our image. And then I do plus 90 divided by 180. So now I have my latitude ranging from 0 to 1. And then I'm just going to multiply this by 512. So this is actually the height. And then I'm going to do the same thing for the longitude. And the longitude is when I divide by 360, now the longitude goes from 0 to 1. But the width of my picture is 1024 pixels. So I need to figure that out. So I'm just going to take the latitude and the longitude from the matrix from the selected countries. And then I'm going to calculate the real positions on the map. And then I plot the data on the map using the standard plot. So I'm just going to say, get my points x and y. And then head the point size is the number of infected divided by two. And that's because we have to scale it in some way. Because I can't use a point size of 5 million in R, because that would cover the whole image. So hey, I take the log 10 and do some rounding. And then I just make sure that the biggest circle is not that big. But in relationship, these circles are relative to each other. They make sense. And they are consistent. All right, so let's just do this. So let's get the number of infected people. So we're just going to get the number of infected people, then modify the longitude and the latitude. And then we're just going to put points on a map. So here we see the total number of infected people up until the 24th of May this year. And we can see the different countries. So we can see, for example, that Holland is orange. And we see here the Dutch colonies. Furthermore, here we have France. I think France is green. And you can see that France still has some colonies near Australia. They have like near Madagascar and they have some other colonies. And the USA is here. And here we see China, where the outbreak originally began. And here we have the Australian. And the Australians have divided it for one number for each of the provinces. Right, so these are all things that you have already learned. And it's just putting them together in a way so that you can kind of visualize whatever you want. And of course, we add a nice legend so that we know what we are looking at. And we could add the date on top. And this just doesn't, it not only works for a world map, you could do this for Germany as well. Or you could do this for the Netherlands. Just get a map of the Netherlands and then move your latitude and longitude positions so that you are in the range of where the map is plotted. And so in our case, it's relatively easy because we have like zero to, well, this is zero. Right, so we have negative and positive longitudes based on zero. And we have longitudes which are also zero here and then go up and go down. So we first scale it from zero to one. And then we just multiply it by the size of our image, which is 1042 pixels by the other one. So we'll put this script for you guys also on Moodle so that you can look at it and perhaps use it later on. Perhaps you have your own data and not COVID data that you want to plot on a world map. Perhaps you don't want to use a world map. But for example, you have fish measured all over Germany and you want to plot the different lakes. The nice thing is you can also plot pie charts, right? So instead of having like one circle or one big dot, we could show pie charts of the number of people who are infected, who are recovered and the number of people who died. And so you can still use all of the available plotting tools that you have. It's just that the background is now a world map or a map of Germany or a map from whatever you want. All right. And with that, I am going to stop the record.


Bacillus thuringiensis, BT, is a gram-positive, spore-forming bacterium that produces several types of toxins, including cryoensit proteins, which are toxic to a variety of insects, nematodes, and even cancer cells. Additionally, BT can produce vegetative insecticidal proteins, VIPs, and secreted insecticidal proteins, CIPs, that target specific insect species. Finally, BT can also produce bin-like and ETX underscore MTX2 family proteins, which are related to the mosquito-cytobinary, bin, and MTX2 toxins from Licinobacillus sphericus. All of these toxins have potential applications for controlling insect populations. This article was authored by Leopoldo Palma, Delia Munoz, Colin Berry, and others.


TLO what's poppin? We are on twitch. We are Not live but you can leave a like comment subscribe turn on your post notification bells. Let's continue to grow a family From Chicago to the UK right behind me. You see it this little warning screen just in case they say something crazy But you know, I can't help it. I'm hearing the name of the media the press Don't forget man twitch.com the lit one. Do you see the username at the bottom of the screen if you want to lock in with us? And watch some live streams. We also got a patreon That's the merch. I mean patreon. That's Monday through Friday. We miss a day. We roll it into the weekend And we got merch don't forget that man. Let's get into this and this is Lad Bible TV copyright disclaimer under section 107 of the copyright act 1976 Allowance is made for fair use for purposes such as criticism comment news reporting teaching scholarship and research Fair use is a use permitted by copyright statute that might otherwise be infringing non-profit educational or personal use tips the balance in favor of fair use No copyright infringement intended all rights belong to their respective owners. It's lab Bible TV How I care for serial killers at high security hospitals How you care for them? Okay? What will you like as a child when and did you always have an interest in the way people's minds work? Well as a child. I really enjoyed reading detective stories. Agatha Christie Was what I used to take out from the public library with my mom when we went every week I really enjoyed those kind of murder mysteries and there's still something that I enjoy But in terms of real cruelty and real violence I think I was very influenced as a young woman by the early accounts of the Holocaust as We learned more and more about the Holocaust. It was clear that Ordinary people and ordinary governments had actually done something to a subgroup of the population of the citizenry who were entirely innocent and they had been tormented and then killed and How did that happen? How did that come about in a country that had a government an elected government? That was famous for its music its poetry its prose its culture generally How could that is 100% the same? And the way she's explaining it that's how it differs from slavery like there was an act of government that allowed this to happen For the people that were inside of their governed area. It's crazy RIP taught us put lives lost That have been so I was interested in how people come to let themselves do terrible things And I was also interested in the kind of philosophical aspects of it about how should we judge people who've done terrible things When they were actually not themselves at the time when they really weren't well, how should we judge them? How should we react to them? It wasn't really the violence in itself so much that I was interested in and how did your career in forensic psychiatry begin? Well, when I started working in forensic psychiatry, I was working in South London in an outpatient service And then in the early part of my career There was a government policy to develop more secure kinds of psychiatric services So I worked in what was then called a medium secure service and then after that I went to work in a high-secure hospital the one that's probably best known is Broadmoor Hospital and that's where I We of course know what Broadmoor Hospital is man We've done a documentary or two a high-security psychiatric hospital in England built in the Victorian era and Hone some of the UK's most violent offenders W reading feels by the little one by the way I went to work first as a junior trainee and then as a consultant My first visit to Broadmoor was when I was still training and I guess like most people I had kind of ideas of it being a weird and strange and frightening place and Certainly the pictures that are often taken of the 19th century buildings kind of gave a kind of horrific kind of look or Something kind of dank and frightening But when I actually went to visit there What you saw within the walls was really a very typical psychiatric hospital with lots of buildings Which house the places where people sleep and then buildings where people go to do Occupational therapy or psychological therapy It's a very modern building and doesn't look anything like the kind of 19th century Images of Victorian asylums that people get so kind of find so creepy The only thing that marks it out really is that it has extra security the other Like a prison dorm but I wouldn't be I wouldn't be as I Would be worried but like I'd be more worried in a psychiatric or to be sharing the space with so many people that's just me and my Regular train of thought Hospitals don't have and the other thing is that probably most of the all of the people there have done something Frightening and violent often fatal violence. I read that you and you happen to meet Peter Sutcliffe Well, I think it would be fair to say that he was pointed out to me once I mean even within Broadbould mr. Sutcliffe was unusual. There were two things that were kind of striking about that One is just the fact that people went to the bother of pointing him out as if that was going to tell me anything You know, oh look, they're so and so And you know so what but also that was the thing is that really nothing happened, you know, I didn't I just saw a man I just saw a middle-aged man I didn't see anything there was nothing to see and I think that's a really important aspect of forensic psychiatry That when you work with people who've done terrible things, you know, it's not necessarily there in their face or their body There's nothing to see you Really have to spend quite a lot of time especially the jack Ripper dude. I heard he was like very unassuming You wouldn't even I'm talking to people before you can kind of get at the states of mind that lead to Causing great cruelty and harm to others What happens in the sessions in your therapy room? Well the therapy sessions that happen in a prison or a secure hospital are pretty much like therapy sessions Anyway, if you're at the beginning of therapy, you're often Having conversations that get people used to the process of talking about themselves and that can take a while Many people I meet are not accustomed to talking about themselves at all many people I meet at the beginning of therapy have never Really thought about their minds and feelings is something they could talk about so often the beginning of therapy is just getting that laid down and then and then we move in often to talking about how they come to be either in hospital or in prison and I Usually let people get there themselves, but sometimes it's very clear. So for example, I'm thinking about a man who I work with in prison I was asked to see him because he was very suicidal He had committed some very serious acts of self-harm and had been in the hospital wing of the prison because we were everyone was so worried that he was self-harming and he was a man who had been convicted of joint enterprise Murder, which is to say although he actually hadn't Carried out the fatal blow He had been part of the people who were there and so he got convicted of joint enterprise I hope y'all listening man. Just because you ain't do it Don't mean you're not gonna get that same conviction if you was there as murder And he found this very distressing you guilty by association in the streets and in that in the courthouse Partly because he'd never been in trouble with the police before And he was somebody who was a kind of regular guy And it was probably something to do with the drug deal that went wrong. I think Well, that's what he said anyway but he found himself he found doing a life sentence in prison was very distressing and When I saw him He we were really focusing Therefore on his sense of what was driving these suicidal feelings and what was driving the suicidal feelings was his feelings of guilt Partly his guilt about the homicide that somebody had died and you know He was a young man and another young man had died and which he felt bad about But also he felt guilty about the impact on his family and the victim's family and the suicidal feelings were coming from a sense of Terrible guilt. So in that case talking about the homicide was kind of central Is it weird that I don't be feeling guilty for nothing like nothing like I don't be having no guilt zero Part of it is because how I am as a person I wouldn't do nothing to nobody that I wouldn't You know, I'm saying that I didn't wouldn't want done to me. So I don't be feeling no real guilt The only guilt I'd be having is when I have to raise my voice at my daughter. That's it But before that You can convince me to feel guilty No, sir I never really felt no stress Until I have my daughter. I never felt any of these emotions for like X amount of years until up to three years ago Like none of them none Wow, the ice box talking to tell me To the work. So I had to know what I didn't understand emotions like when like if I had a girl She was sad about something Be like, what are you sad about like get over it like What is being sad gonna do like I don't know I couldn't relate to any of What happened See that's why God gave me a daughter. I got it. Oh, I got it. I got it kind of And I had to get him to talk about it in order for me to kind of work out what had happened But also more crucially so I could understand what he thought about it But you have to work up to that you can't just go barreling in and say right Let's talk about this type this day.  You have to time your kind of inquiries and questions In a really thoughtful way, it's a bit like kind of doing surgery on the mind in a way How much detail do people tell you about the crimes they've committed the murders often not very much Because in my experience, it's quite distressing for people who've killed to talk about that and So it's rare for people to go into detail At least initially and often that's because of traumatic memories. I mean again one of the things that people often don't appreciate Is that people who kill sometimes develop PTSD in relation to the homicide that they actually caused So they have traumatic memories. They have flashbacks. They can have flashbacks to the blood that was present the smell of the blood They can have flashbacks to the sound that the victim made They can have flashbacks to what they did afterwards and how they were feeling And it's not all unusual people But like I've been shot at before You know, I've been in a lot of life-threatening situations and the only time I've ever had PT I got jumped by 30 people and was hospitalized for a week or week and a half I've never had no PTSD about that.  They don't but I know What is there to think about? But now being being being shot at I have PTSD about that 100% I Not now but like When it happened like after for a year maybe two years after Has it been two years? For at least a year after I used to think about it And no, you know what until I moved out of Chicago.  I've killed my wife And then they're just standing there waiting for the police and And that can be the stuff of nightmares if they do you try and get rid of the body or bury the bodies That's something that you talk about with them getting rid of a body is very difficult dead bodies are extremely heavy So you need someone to help you But if you get someone to help you that kind of raises a serious problem So for example cutting up a body seems absolutely horrific and monstrous but people I've met who've cut up a body have Said kind of quietly that it was a practical solution to the problem and again people who do that are usually In a slightly odd state of mind When they do it they're kind of dissociated a bit from reality It's if it's like a to do that and then just go on with your days red for dream That's what some people say You've worked at Broadmoor for a large part of your career and what types of patients do you normally come across? You can't get admitted to Broadmoor unless you've carried out the kind of violence That's very frightening and disturbing to other people and we see a lot of people who've killed Family members when they were mentally ill and I worked a lot With people who'd killed in that way and in fact together with some excellent colleagues of mine We set up a therapy group for people who killed Which was called not very imagined for the homicide group and our homicide group met every week to allow people to come and talk about their experience of having killed and what it had done to their lives and what they felt about it now and the impact it had made on not only of course the people that they killed but their extended family and friends and The loss of their own life from the past at the beginning of groups like that people often talk about what it means to have killed somebody and One of the things that our people are often preoccupied by is what makes them different from soldiers? We see soldiers as kind of Lissot and even admirable people because of the social context But when people who are mentally ill kill then they are seen as being monsters or weird or bad and that Kind of stigma around killing I think is very hard to live with and it's not that people Try and kind of see themselves as victims They don't but they do Sometimes struggle with the sense of being hated and have any of your patients experience that feeling So I'm thinking now about somebody who had a long history of mental illness and she had religious delusions And she developed the delusion that she was being persecuted by the Antichrist and she then extended that belief To include people who were working in the care home where she was living. She was living in a mental rehabilitation Hostile And very sadly she developed a belief that one of the care workers there was an Antichrist and She believed that she was in danger from this person And Eventually she thought about it for some time That's what's so sad about it because she knew it was wrong But the grip of the delusion was so strong That eventually she went down and she grabbed a knife and she killed this man and afterwards She was very distressed Me personally I can't do that type of work. We used to have an Audi home where I used to live I used to live like like kind of like Rogers Park. This is the north side of Chicago and like like right on the edge of the The first suburb going north is called Evanston. So I used to live like It's called the low end. No, it's called the south end south end of Evanston. So Right there like on the border So I used to live there used to be a Audi home like super close Like there's a corner store you walk to the corner store the Audi home was like right across the street from it Like the mental it's like a not an Audi home. I'm sorry. It was a mental Mental hospital, but I used to be terrified. I was a child keep them I used to be terrified to walk past there because of what she's saying like you don't never like no offense Like I don't want to judge nobody don't take nothing to heart or anything, but you don't know what Especially as a child, I don't know What is going on and I don't know the I don't have a full grasp on Mental illness at this time. So I don't know what's going on in their head I don't know if they're looking at me for ten minutes thinking I'm something like like what she said that the anti-crack I don't know. I would avoid that place at all I'm crawl I crossed the street and think about my godbrother used to live next door to the place But he had they had like ten dogs ten pit bulls Like it was like you're not going over there I think that's the reason they had so many dogs low-key But like I used to try to avoid it at all cost Simple as that I'm very suicidal And that's how I met her because she was transferred from prison to Broadmoor this was when we still had women in Broadmoor. We don't anymore And when I met her She was still very psychotic still very paranoid still very deluded about there being anti-christ everywhere But she knew that she had done something to yeah, I was hyper paranoid Very I don't have that no more, but I was Overly paranoid after getting shot at Paranoia and the lifestyle I was involved with so it's like double bubble like you got to be like We're like I feel like a lot of people in Chicago.  I mean lottery winning uncommon. It's so rare But of course when it does happen then although family members are actually initially most at risk It's also possible for people with mental illness to kill strangers when they're grossly mentally unwell and it's actually In it's slightly more likely that they will attack Strangers and in fact we've had a very recent case and nottingham Where a man who was grossly mentally unwell? Killed in what we would technically call a kind of spree killing Over but he wasn't getting no type of help was he he was just outside Period of 12 18 hours and And in that he killed three strangers and nearly killed three others so And he's been sent to mental hospital for treatment But you know in that state of mind It's very likely I mean I don't know the man and not met him But from what I've read about him and from my experience of not dissimilar cases I think he was probably extremely paranoid and believed that his only way of surviving was to Protect himself from all the people who I imagine he located danger in He saw them as dangerous in a way that we could only describe as completely mad and Irrational and delusional he was so paranoid he went to MI5 to the MI5 building and asked for help Which is kind of as good an indicator of mental irrationality as I know Okay They see one person and Are you delusional? Can I just walk? You know I'm saying like Everybody's this type of person to them They're all sad stories. I mean they're all really sad stories. It's that's why it's it's never about Evil it's about Sadness really and grief Have any of your patients ever attempted to leave or kind of run away or escaped Broadmoor? I think one of the things that again that maybe people don't realize is that the vast majority of patients in Broadmoor are keen to accept help and therapy and They want to stay there. It's a terrible situation That some people don't get the treatment that they need until they've done something Awful and horribly violent that if only they got the treatment before they might not be in this situation Actually, you're making me think of a man.  That's a solid question It's more about no No, I'm a good person The victim was a bad person these kind of things. I think those are the cases which I find Disturbing because it's hard to know How to engage with people who are in denial of reality The kind of situations Funnily enough where I meet this now Is not so much in the criminal courts, but sometimes in family courts Where parents are accused of Assaulting or hurting their children And I quite often meet men and women Who clearly have hurt their children But can't accept it and deny it And either say it wasn't them or they blame somebody else Or sometimes It's hard to think accountability when you out here do our stuff wrong with your kids, man When you're going overboard and things of that nature and disappointing or just doing weird stuff, you know, I ain't gonna say so But yeah, I know what I'm talking about Sometimes they blame the child Blame the child And that's kind of disturbing Have you ever been scared or frightened? Have I ever been scared or frightened? Not in broad more Sometimes in prisons Sometimes in prisons I mean, the The place where, which is most unsafe, is the community So actually the places where I've been assaulted Have nearly, nearly all been in outpatient clinics Where people who've been in very disturbed states of mind Often because they're intoxicated Have come in to a clinic and been very angry with me for some reason or other And assaulted me in those circumstances And often that happens very fast and you don't have time to be scared So part of my training as a forensic psychiatrist is about trying to read those cues And it's my responsibility not to put myself in any danger Because I don't want the people I work with to get in any more trouble I feel like every day having that type of job is going to put yourself in some degree of danger They're already in How do you kind of deal with sitting in a room with people that, you know, lots of people would say are monsters? I kind of feel that How do I know that this couldn't have been me? That in the right circumstances Maybe I could do something just as bad as this Who's to say that if I The scariest part of like this see situations like this Like anybody could have a mental break a mental lapse and do something that that that that That is deemed That will that the court will say oh, he wasn't in his right mind. Like it could happen to anyone See, that's why that's why we stay drug-free Because these things mess with your mental mental It mess with your brain.    That's why I be you know what I'm saying I don't know why that's why I never really felt stressed but But hey Salute I had not been through some of the things that these people have been through and I have to say some perpetrators of serious violence Have experienced terrible violence themselves facts facts circumstances of players.  So I kind of start from the position That I may have more in common with this person than first appears And as a society how much empathy do you think we should have for people that commit serious acts of violence? I think That it's very understandable That we all feel hurt and distressed and outraged when somebody Commits an act of terrible fatal violence. Of course we all feel outraged I feel that outraged too And I don't want to minimize in any way the distress that victims and victims families feel And in fact, it's a very important part of the work that we do is we always keep The victims and their victims families in mind when we're doing this work It's not a question of either the offender or the victim. It's both But what I will say Is that I think revenge although a very natural and human emotion Is an emotion that we can't afford It's too costly It's too costly I agree People who seek revenge and go for revenge normally are the ones that get caught You know what I'm saying? They're like the chances of you seeking revenge and not getting caught are very slim Terms of our psychological well-being. It's not good for us to be vengeful Does things to you actually could take you to a place where you kill if you're that vengeful But it's also too Too expensive Financially we currently have I don't hold grudges or anything if I'm gonna do something It's gonna be in that moment You know what I'm saying and even in the moment I can take a step back from the situation and think You know I'm saying now that I'm older, you know saying when I was young couldn't do it But like now I can take a blood back See what's going how this is might play out I was 60 people on whole life tariffs that means they will die in prison And we could still keep people constrained and detained and contained But we don't have to keep them in prison to the day they die And what do you love about your work? Well, it's just so interesting Every single day is different It's both interesting intellectually, but it's also interesting philosophically, you know, what is the difference between a Nazi prison guard who kills a prisoner and a man who kills his wife because he believes she's unfaithful to him What's the difference between these two men? They've both killed. Are they in any way similar? Are they different? If so, how why? I I find it philosophically fascinating But I also think What I love about my work is that it's real It's real. This is real And the emotions are real And that's a privilege To get up close and personal with real human beings who are in an extraordinary situation So Yeah, I think it's a privilege to do the work Very interesting Very interesting, man. I want my question answered in the comments. Are narcissists mentally ill? Talk to me. See you later. Leave your like comments and subscribe to our channel. We'll go