Welcome back. It's still a breakfast and plus TV Africa quickly to a first conversation this morning the national president of the National Association of Resident Doctors Nigeria's Doctors resident doctors Union dr. Innocent or G has revealed that the night Nigeria has lost about 2,800 resident doctors over a period of two years now He said that the number does not include consultants and other doctors of course because we're looking at resident doctors But you're speaking at a press conference at the end of a three-day national executive council meeting of the N.A.R.D In the aqua boom say capital we own Saturday With a theme improved welfare of healthcare workers a panacea for brain drain I'm sure it tells us a bit of thesis of what his a statement was The president of the N.A.R.D Disclosed that from a study if the organization had conducted in September 2022 a total of 800 resident doctors had traveled out of the country from January to August of that year which implied that a 100 resident doctors leave Nigeria every single month January February March April May June July August eight months They had 800 doctors leaving now This is the latest statistic in the from the years long phenomenon of brain drain in Nigeria's health system We're here to talk about this again Dr. Tui, member Wando joins us as a public health expert his joining us via zoom in Lagos doctor member Wando Good morning to you and thank you very much for your time Good morning. Thank you for having me. All right doctor. Personally. I'm really tired of talking about this You know because we keep talking about brain drain They're leaving and I think more doctors are going to leave in the coming months If if if nothing drastic is done I do agree with me and what I thought so what the N.A.R.D Is same with their study being done from January to August 2022 Yeah, thank you. We've been at the crisis period for a long time We're actually going to a grind now. It is that we may go to a point where indeed We will not have medical people walking in our hospitals Because if you look at it, well, we have a Graduate decrease the number in the ability to produce doctors and those and ability to retain them. Okay Let me capture this since 1963 with Nigeria produce 93,000 doctors Out of that I see a thousand doctors. How many we have left 24,000 so you can imagine if you have ten four thousand doctors Now our capacity to produce also is compromised. How do I make compromise in the sense that? Because we have done is to produce about three thousand doctors Every blessed year now the number is falling strike push of the university's lack of interest in medical and then even consistent egress or To different countries And then I'm like Unlike you put it for six months 800 of 30 and during these six months Strikes strike strike. So we are getting to that point where we may have to end up without having Doctors working on system. It's a very pathetic situation Our government don't even give care.  They don't care. They don't make you don't give anything about this Well, I like you to respond to I mean the issue of brain drain. There's been a lot of thoughts Comments reactions and one of you a bio me right here in Lagos has You know mentioned he's he's put out his thoughts and he said that one of the things that needed to be done To address brain drain was that It's important to ensure that students admitted to study study held related courses where those bonding with desires So I like to ask you is bonding Desire I mean passion it will be the word it's passion enough you know for Or a criteria for solving The brain drain issue that we're faced with You can't be a solution of your of a severe problem like that on emotion I think it will be pretty wrong for you to wake up and say, you know Passion and emotion, you know, let me tell you if you want to solve the challenge of brain drain or even inadequate health workforce um in the nation It is not The solution does not reside in health system alone Because education Is part of it. You have to you know, be able to attract sufficient number of people to do science sufficient number of them to do To study medicine and then provide capacity to train those doctors. That is education um When they after being educated you have to find out how to um employ them and raise them appropriately That is municipal. You have to find the way to finance them. That is usually of finance So you have to get a kind of um complete link Are the health That will be able to go completely within those ministry and health system Those To find a professional place for them to learn and then at the same time you have to enumerate them You have to provide job for them So that is the concept of trying to solve the problem. You cannot just work and Are you don't are your university does not have the capacity to do that would you so for me it's not just um When we like short course, you know Like mayfire fighter So You have a sustainable health care system and push brain drain if you When like in a grind no money Uh, no fuel no lights Who want to stay in this concentration? A lot of push factors happening in our environment that we're not addressing. So but um What's the This You know a kind of A kind of critical thinking it requires to Look away from the common And then put us together For the health system For Um number of health workers. So yes, we're going for a grind.  Who's going to put the office on yes I was like I don't like to to study the course where the other day you will be paid. Look at what is happening Obviously that's not enough about 30 months Doctor's fees have not been paid Um, you know 10 months 85 months on those three months These are things that are concerning That you work, you'll not get salary So so is a lot of issue. It's a lot of issue Doc, uh, we we've talked about this many times, you know over the fear a few years Um, I mean, I know I know some doctors who Didn't even need to have a job to leave some left Um, these are very promising. I know I'm very promising You know medical doctor was a resident doctor and had moved on to the next level Um, I spoke to him some time who found that he had left, you know to canada Um, and he was just You know, he hadn't gotten a work permit or was not qualified to work in canadas. He was just, you know, assisting a doctor and working under him So, you know, it seems that the doctors who are really qualified here are prepared to go abroad to even do some so-called Millial things as far as their the qualifications are concerned I think he paints a picture of the situation now should Nigeria be placing a moratorium on Doctors who are trained with government subsidies Relocating to other countries after their training I think let's just debunk that in fact, um anybody that mentioned subsidy In training of doctors is being clever by health What is subsidy training of doctors involve one those teachers rights and classroom But also involve a lot of things you have to buy your books your equipments your feeding Accommodation don't soon are not subsidized by anybody and now when you're talking about the subsidy the same comments will provide that kind of services for lawyers for accountants for journalists in the universities, right? So what where the subsidy for doctors? But doc yeah The resident doctors themselves have gone on protests a number of times and because of of the lack of um funding for their Satutory training the training there's was to embark on You know the courses they're meant to embark on lack of government funding for rate and government to call them for a meeting And release money. Also these resident doctors are trained in public Um teaching hospitals free of charge So wait hold on hold on and government government pays the The the professors in these teaching hospitals government buys the facilities there. They don't pay for it And no doc is it those governments those professors are healing people They are doing job. They're working. You know, why would government you see the the the No, but are you saying the government doesn't doesn't contribute in any way to the training of doctors in nigeria? Is that what you're saying, sir? Hold on. Hold on. Hold on. Let me clarify. You get it very clear now You know in 2017 um Government enacted the nigeria resident doctors training arts whereby government supposed to sponsor four Of the update courses just four of the update courses during the four years residency training program Government is not the government is not doing that. It became a an issue And then if it's a sponsor for of the of the update courses the update courses are so plenty Okay, the fact that government sponsored for does that make does that mean that government is is is subsidizing them If you want to subsidize let's assume that that you now said, okay each of resident doctor I'm going to give you five million that is there you talk you quantify the subsidy or everybody nigeria law school uh Everything You have some support from government. All the officials Police officers are getting support from government. I even subsidize even when they're still getting out of money You know Uh Okay, but doc we have a bit of a situation with your connection Yeah, doc can you hear me, please Okay Okay, we have a bit of a network interruption So maybe you can just make the last point you made before we move on to our next question I I said listen doctors are not getting subsidized politicians They are virtually running on our own taxes. See they get jumbo pay. Nobody's complaining about that All other professionals get training get the same training from lecturers and nobody's seeing that to be subsidized So why why singularly doctors? That's the question So let's let's leave that one doesn't believe that Anyway But the federal government has also uh made Pledge if you like to say your request asking doctors and you know nurses and every medical expert to You know back with them as you're putting out measures to ensure that everything is in place I mean, so at this point, would it be fair for for you to say that, you know, this doctor should um You know just consider because we're getting to a point. We're not going to have doctors. So is it fair for doctors now those who are still in Nigeria and who are having plans to move uh to You know, um be patriotic that would be the question the word Now, um We didn't start like this Let's be fair. Um I Okay You know, okay, look first performance the capacity to train I believe the science is constrained Okay Even getting job after training is challenged So in reality It was in that is about the government, you know, actually messed up all the states Okay So one way we're looking for is for government to return run and figure out what to what they need to do People who always stay with the country and hold on to their job when those conditions are I'm pretty right. Okay. Look at it. If you have option, we want to see any country where you cannot even get access your money Let's face it You want to say in the country where you can advance your profession You want to say where you don't have good men to do the work Provide all those things and satisfy this thing and if you want to subsidize raise good money I'm a participant many ways I am a medical doctor but that I studied medicine. So I Know So I know what I'm talking about exactly So I know what it means that in my own input And this is what we're saying that we should remove it. If you know that your health is linked to your wealth Then You know to resolve that you need to do something more drastic. You can't just the pepper your pepper I am black maybe that's what the way to do the work The good of health workforce is there. We're having, you know, Africa is having like, you know Steele discharging of the world And they're having about three percent of the All right, doc we We apologize. The network has been not too charitable, but I think your point has been made Wish we had more time with you But it it remains clear. I think then I already have said Exactly what needs to be done the welfare of doctors needs to be taken very seriously So that they remain in the country. I'll add to that also mercy The situation as far as the facilities and then the state of the public health facilities in Nigeria are concerned But we'll leave it at that right now because we have to take a break And where we tell we have a final conversation this morning We'll definitely look at the issue of electricity tariff the spinning crease and the fact that Nigerians have decried it. They described this as unfair and there's no justification for that increase. Please stay with us


Yeah, hi. My name is Mike Washington, and I'm going to talk about the UFBJ now. It's a little bit about me. I work on the Linux terminal. The UFBJ is open and data stuff, so I'm maintaining these projects one way or the other. The UFBJ works against the hobby as well. So that's about me. I decided to split the program into a couple of sections. So first of all, I'd like to introduce you to what the loop is at all, what the eWiz loop is what it can do, and I'll have to bring these flags for those people who already did some eWiz words and they know what happened and the way it releases, so I can't seem them up.  I'll go into the eWiz four things. I'll probably have to get the sources, I'll go into the mobile then, how to figure this out, how to add new stuff into the eWiz. I'll talk about the driver model, which is recent development. I'll talk about the device being involved. And once we build up all that knowledge, doing the eWiz port for the architecture port, it's going to be really trivial because you'll have the understanding of the stack. So we'll do that in the second part of the talk. And since today we will let stuff go, maybe we'll throw inside considerably wheel-followed automatic systems, and then we'll wrap it up and move on to the next one. Where is the loop loader in the first place? Well, you see, when you power up your computer or system or whatever, there has to be some code which does some basic initialization of the system and making it possible to load the next stage and execute the next stage. And that's the loop on this top. In modern systems, it just so happens that there are multiple loop loaders which are kind of chain loading one another. And we think of any board in our MSOC has this loop drum on it, and when you flip it on the power, it just jumps into the loop drum, and the loop drum is executed, does some initialization, and loads some stuff from either a C-card, and executes that stuff. You know, CRAM, the sub-end of CRAM usually initializes CRAM, loads more stuff from maybe a C-card, maybe some other storage, into the CRAM, and that's typically the first loop loader we can get replaced, and that's responsible for stopping the Linux kernel. So this kind of table only happens nowadays. It's the same when you have, like, this behind us, which starts to grab and that starts to turn on. That's what loop loader does. This is one of these loop loaders. There are alternatives, but it's like the only present loop loader in most of the argument boards. I said, yeah, it's capable of loading Linux, starting Linux. That's true, but it can also do much more. It's going to be capable of loading one, it's going to be virtual. So, basically, you can drop into a loop load register, and you can work on this stuff. Yeah, the board loops only even start. You boot. This is what you get. This is usually the first printout in the board, which you get. This is usually the human version, CPU type, board model. If you're reporting some bugs in you boot, please include at least these informations and look which you boot sources did you use to compile that stuff, because sometimes they're hacked up crap and we cannot help you with that. If you can make money boot, well, we can figure it out, and we certainly cannot do it for it. So, what we have been doing is printing this new information of the toddler, which is available along the internet app on this board. You have some TMMC controllers, serial boards, controllers, you can add whatever. Ultimately, you reach the output count down. Now, if you let this come down to zero, you can go execute this output command, which usually means start with a trick in the end thing, but in the most cases, it's just like a little bit, it's from somewhere, start it, and that's where you end. Now, you can interrupt that output, come down, and then you can drop a new shell, or you can do a lot of stuff. Like, for example, execute the health command, which is really helpful. That also builds you up. That new report supports. Usually, you can initiate that memory into a lot of other stuff. Like, write a memory, compose a registry, you can access different buses, that's like, I start CSPI, you can access storage, TMMC, again, CSI class is empty, you can access the internet, you can download files and stuff. That's what you can do with it. If you guys want to help or if you need, you can see what else you can do with that. Now, this is a brief newsletter about what was new in 2018 and what happened in the last year, pretty much. So, we're continuing the inversion through the registry control and driver model. At this point, we only have legacy drivers, which are really at the market, and most of that is probably going to be a way that we would end up going away because no one really cares about that anymore, so it doesn't have to go away. In case you still have some legacy devices and want it out, that's welcome. We also have FD support in youth, and what that's for is you can navigate like an FD library and a few FD applications. So, this is, for example, if we didn't want to change a little drop from youth, it would make it look like, kind of like the drop years of BC. At that point, you can basically drop an FD application, drop an FD application, it's molding into the youth and it's providing the services like serial board access, story access, that sort of thing. In case you're building a sort of that board, you can probably enable that. Related to that, it's just a movement for, again, if you're building a that board, you can enable that. It allows you to set up some sort of standardized human environment in which the distribution can count on, and that's the easy part of the distribution to generate the boot in the case. And the boot that one in that board. So, they can look into that. Oh, yeah, we are also doing CI recently in the school. So, if you use some impactives for you, and if you were asked to build it for like these 10 architectures, it's kind of sudden because you have to get all these personal files and then go send them back.  Something like that. Pretty good, Travis. Automatically, it will do the CI. You can enable that. And you can just go and do all some interventions that are available at least for all the architectures. One more thing that we can do is the OSG application, the OSG overlay application. Now, what that is about, this sort of situation with going for your OSG OSG overlay folder in Linux, finding its way in mainline that are probably it was moved down into the new folder so that new one is not capable of applying device 3 overlay to the device 3 and embody this device with the Linux. And recently, we also looked at work for that image. So you can have a fit image with one external device 3 in the fragments and in the definition configuration you can specify which terminal you want to use which device 3 and which fragments should be applied in that. Now, if you have no idea what that means it doesn't matter, this is just really it non-stop. Yeah, oh yeah, by the way, I don't know if there might be a change in the overlay format so be careful about what you mean. Okay, now, let's get to enforcing you. So first of all, just to get the sources if you want to do any enforcing or any of this work, you can get them at the speed-readable if that's possible to get in the HDV so you can have some sort of happy and corporate firewall which doesn't let you make sure you're doing the HDV. Usually you can do the begin master readable because everything is there but if you're working with one of the main games that I think that they have, well, in my sub-free there's some feature and you need that feature to get it in the sub-free. You can have the sources if you want to build them so it's really I would just build them in directory into the sub-free if you're cross-compiling you need to export these two triangles, cross-compiling pre-takes and they have to make your name for which you're cross-compiling. It is not necessary to do that if you're compiling maybe or if you are a disabled target. If you're not doing that you will also need to drop some vial or drop any details and that sort of stuff. Now, when you level that up you can do make board on the sub-free that will take obviously you need to have that board supported because it will give you the resources and then you can use binary and you can put it on the board. The board has to be supported if you change the board it's supported by looking into different things if the board is not supported well, that's just overall. I think it would be support by 100 boards to make more of that in general. So I'm going to do the disabled target this is going to be interesting if you can compile the unit of the Linux application and you can launch it in your Linux system and then later on it will be able to shell that and you can also use of course some of that sync data you're doing to work on the legal shell. For then you can meet the person who's that someone you've made and you'll be able to use it and there's Alpine 3 so you can build a slide to your boot and you will get the shell and you can play around with it. Alright, but if you want to do some work on the boot besides compiling it you probably do know where everything fits so the higher POV source fields on this you know the output right today as well as all the output specific stuff that goes so you have like arcs that you have and for example arc arm, arc mesh where that's where you can go and you can also have the person directly in the month that's true where who is like who's specific to this who's seen that arc mesh generator and you can play with that like seen there are some FPA which is an arc going there and some C or a month PCM for the GIFs that are in the Raspberry Pi and many will also have device feed sources there in the same place and our source is for the new boot and build device feed, this is not a positive lineage so the device feed is not a positive lineage I'm separate from that I wonder if we have here more files that are more legally and stuff which we need to add all that should be in private or in the update we have the don't pick kind of engine that we had earlier it's just a game of things we also in terms of converting the legacy pumping back so we will find some legacy don't pick today don't pick slash we'll reward the legacy yeah this is working for us but in fact drivers now if you look at the human source you will see that there are don't pick files and may files that implies we use game of things for configuration of new boot that let the terminal use gable for building even nowadays so you can do the main don't pick you will get a nice that will be available there I mentioned converting to that so there are some symbols which are not converted don't get here looking for them they don't find them it could be that they are still not converted and then the engine changes the widest file if they are in there and then they will have to go into includes site configs like your work or you can convert them to game of things and there is a patch which will be amazing now all new options in case you decide to add new game of things option it has to be game of things only there is no way in hell you are adding non-game of things option it just won't be able to find and you are going to be able to accept those files I picked the drivers game of things file so what you see here is the symbol of game of the age so if you make a minigame you will be able to find that that is the game of the age symbol somewhere in there so what do we have here the symbol is boolean so if you make a minigame you will find some and three people say this you can turn it on and off boolean it depends on the other symbol which is the element and there is some help associated with that so the game of the age symbol actually shows the stocking under score game of the age and that is the big fight in the age of the symbol to operate the symbol so in the age of the symbol so when the age of the symbol is evaluated and this will depend on why in case you think that other game that is pretty much it now if you want to add any new stuff to the game of the table files just add the magic game of the age symbol and the age of the symbol you have some sources that you are creating with that as you make files and source it and that is accessible now one thing we don't like to ask you is not to add 100 specific stuff on platforms which are not capable so if you have a platform which is not capable you add 100 specific stuff into the device instead of half going into the user into the game on the system so speaking of device 3 what is the device 3 well how many of you actually do you know what device 3 is it's very good super so yeah the device 3 is a structure which is used to describe 100 capabilities it's not the case always that you can probe 100 capabilities you can think of like Scat and that's the eye controller which has some devices that move on and you just can't figure out what's on the other side of the box that's why I give up and we use that to describe the entire capability of the system it's actually standardized and you can find the standard in the c-paper documentation and for the details on the device 3 or the website now it can have multiple representations one is the directory block the other is backdoor representation there's also a YAML representation of the device 3 but I don't know what state of that is and instead of going into like the specific details on how the device 3 it will be like an example so this is the device 3 but it's the same in Yubu so Yubu and the Linux are sharing the same device 3 files there are a couple of specific works the Yubu's would be fragment of the piece but the device 3 files should be mostly the same so what do you see here in the device 3 at the beginning there's an example that I did which is Scat because both Windows and Yubu were going to expand these macros here so you have got to encode numbers into the device 3 by hand which is a few simple and besides that we have here we have a root node module here and then we have some device 3 properties which are these B volume pairs in here and then we have multiple other nodes under the root node as you can see there can be we can have more nodes underneath that and the properties and so on and this way I can describe the entire 3 Yubu system but I think it might just so happen that you need to refer to another node from the device 3 and that in that the device 3 would drop like these gears just hold the handle so this what you do is referencing the 8574 here so this one really creates a 3 line structure but using this you can describe the entire hardware to now using it in few ways one of them is it can load both linux and the device 3 and then start linux and then pass the device to the linux or other software other kernel but what you can do there is it can pass a couple of things into the device 3 before it passes it to the terminal usually that's not even an address so you would pass this CKTather or MAC address arrival and if you are passing device 3 to linux it can pass that arrival into the device 3 ball and that's our linux so you can share the same MAC address but be more interested in this and what that is for is you can start linux and have it reference the device 3 to linux the whole key of the device 3 super early on and that way you don't have to include any other specifics into the device 3 now to understand at what point linux is able to read out and stop from the device 3 we can go through that so what happens there is actually the device 3 and then we won't be in it I don't believe you can even tell that's what the slide is about so when you put power in this and see it goes through the new terminal whatever the age is I'm going to read to you at the point where I'm in the platform of the device 3 this is all the sunblock and basically one of the recent back server reviews that they can do whatever and it's responsible for bringing the platform to the big server now once that is done it's going to come on the server time to set up code which is on the server time and after this it's done it can jump into the ccode the first thing that comes is the support app and the two loads of functions which are running with the functions in the system that's very little RAM available if at all you're going to have to have a stack of them once you go through this the three functions are actually the most important of the RAM on the platform so you can navigate to the end of the RAM one of the three functions and it starts for parts of the functions which are running with the functions that you're already running in RAM and the memory must be running on the server so bad you can hear the eagerness shell that went down to the Chrome stars and it's going to drop into the eagerness Reventsphere is actually available ever since the first function in the war of Affilates so it's available way early into the new years this is still pretty nothing to do with the actual flatten devices so on the flattening it does not happen you can't have them to see on behalf of any member for that So, the nice trick we'll use in the list actually is that if you have a problem and there are some kind of hangs and some are in there in the interface, you can hack out this, the unit folder, see there are two to three bar spaces that you can replace that with printer and you can go print each unit function in this folder, including the base address. And then you can find out which was the last function which was actually called and one of the examples to use binary, figure out what's the actual name of the function and then look into the code and see what actually happened and why it went through. So, this is kind of the three bar function in the unit. If you don't have a debugger, that's what you should do. Right, so, now that we have the actually set up, if you're looking to do the search, you'll see that there's one criterion of functions that are used to access the E and S of the link from this step to each set. So, this slide's right to make it more understandable. So, you'll see that there are functions which use the entity prefix. These are coming from the E and S and we have both of those boilers like those all the way. You, ideally shouldn't use them unless you do something that would obscure the device. You don't have to go around all the boilers right. So, you can kind of simplify that, that's why we have the entity that functions and they just pull out all the boilers right, boilers, boilers right. They have any function, so you can just, you know, put a lot of strings while you, and so on, out of them easily. But if you only use that outside of the unit driver model. Now, if you're within the unit driver model, there are other functions that you can change to the unit device pointer that are the three functions and they allow you to pull out all use from the device, from the device to know that it's OK that that type of unit driver, like it's base address, it's fault mapping, and so on. So, outside of the device to be, outside of the driver model, at least in the unit, within the driver model, we need to have three functions. The next thing is the unit driver model. I don't have a good definition for what that is actually. So, I'll tell you why it came to be. You see, back in the days of old, when the company was like 5 years, 6 years ago, having to start to get more complex, and the unit was still at that point configured with macros. And all the drivers were basically just walking directly to the commands. So, if you wanted to have 2H13 buses with different drivers, you were just screwed. And people started, like, pulling around that through some obscure hacks. And it didn't scale, so we were, like, throwing this method through a database of hacks that just couldn't go on. So, we could find the driver model at that point. And since then, we've been working through that. To remove all the hacks. And now, I'll be able to use different drivers with multiple instances and so on. Now, the driver model is kind of similar to what it is, but not so much because we have some space constraints and so on when we get to that. Then, I took three objects to present the driver model. One of them is U-class, U-class. Now, that one's responsible. Well, that one is the API provider for the rest of the unit. The fourth is the boss-assigner. I think a bit like the serial U-class is providing you, as a consumer, stuff like to a C, get C, that C-hats, or a string. It's also tracking all the drivers into something matching that with a new block, which can provide these services. Then you hold the serial board and drivers for a new bus serial. Now, you as a user can select with which serial driver that you bus should call. Next we have our drivers. So these are the actual implementation of the right-to-poke game, which will get that service implemented. That means for a serial driver, it actually implements the puts in your specific kind of software. And finally, there are driver instances or devices. So these are instances of drivers. You allocate some sort of structure with some data that's indicated with that and registered between the bus. So this also allows you to have the instance of a specific driver that's not a problem registered with a standard bus if you're getting this from a private data. And driving mode 4 is actually designed to be rather lazy. So all the files that are in the initialization is just registered to the root driver with the registry control enabled. That just walks the registry and binds all the drivers into this creating hierarchy. That's pretty much it. It doesn't have to initialize any of the drivers. It doesn't initialize any of the drivers unless you explicitly call through a U-class and access that hardware. Now this is to make sure that each of those initialize more than you really need to actually get to the next stage. Like, for example, each of these initialize PCIs practically are moving from SPI flat and the kernel is also sort of the SPI flat. So that's the intent here. Now, we have a convenient command review which is called the M3, and that will show you all the drives which are bound into the tree and also those which are pro. So in this case, in this system, you can see even if it's not started, you need to go to serial control because we need to have that. I'm just going to go to serial control to make the serial control come in. The serial support actually means log and ping control because here that's where I come. The ping control drivers go and there's both drivers somewhere in here as well. And obviously, if you have it from there, it's also going to just add that in the case of these devices to work. So in this case, the driver can be one of them is bound. That means it's available to you. You would actually see that device as available. And on the first call, the driver will actually get pro. That means the hardware will get initialized and all its dependencies will get initialized. In this case, if you're going to be with driver, you usually don't have to go into the bind to remove both, bind and unbind functions because they won't be replaced by the genetic ones. Only if you're doing something super specific you might have to do something in the bind that usually doesn't need it. If you're implementing new driver, you should implement pro, or business using to start up the hardware somehow. You need to put some registers and so on. And often you also need to figure it out. The remove function will be called when you exit new. For example, just start it from here. Now, I think this will happen that if you have some kind of hardware in case you do not de-initialize it before starting the kernel, it will do something of skew when the kernel tries to re-initialize the hardware. In this situation where you have the controller that when it tries to re-initialize it, it will stop it and you could control it but vomit at some road transmission into memory and just drop the memory. It's a real difficulty like that. So you shouldn't go under it. You should really explain all the basic concepts that you would. I hope that we can go into the board sorting. So what I'll be doing here is to do a really simple board. And if you're doing board sorting, you should really start simple and just get the serial board running in the beginning and you know that and you kind of see other stuff. Because this will get the internet and use more of the hardware to do a board. And if you will not be able to make that available and your failure is completely random, you can add open functionality later when you have like a stable serial board support and when you can get a board around and you know the board is stable. So that's not a problem. But in the beginning, I just thought of a simple problem. So what do we have to do here? Yeah, if you want to have a big journey and you want to start a new part through the hardware with full meaning, you can also support on the Y3 your architecture is capable of that and you can have a board. We want at least one board because otherwise it would not be possible to use these integrations to make sure that your board doesn't start to get dropping. If you look at one board, you need to add something to more slash your manufacturer or manager's name slash your board name. And then you'll have to add big and big file, big file, your board name file, which is like more specific stuff. Because that shouldn't be that much stuff in the board specific file. Ideally, that should only be the device 3D-oriented driver. You will also have to add even more configs and configs to make sure that's not big. And you will also need to create a legacy configuration file that shouldn't be that much stuff in this file. And that will be great. You will need to add a link to your board capable of files to our arms, to my bar, to make sure that they actually use that board file. Some of the things you might have to do in the process of making them are actually board specific groups for the process. They will be made in the files and ideally you should use that, but if you need that, well, that should be hard. Now, how to implement the EU driver is actually not that difficult. All you need to do is define the sort of structure. We have this EU driver macro here used by the name of the structure in this driver and it's going to do a specific review of the major list so that the EU driver is one of the three overall drivers and the one you use, for example, the registry program, the executable driver, the string, and so on. Then you have to specify the name of the driver and the ID which is the EU class and the driver face. This is the serial form driver we've done in the world. We've done this before but I'll see what happens in the game serial also. I'll show that to you in the next slide. Now, what does we have here? Yeah, if you were to imagine that we'll see you have to define how it's matched, pro-function, obviously, if you're going to finish that project. Private data are actually allocated by driver 104 so you don't have to go model a kingdom driver. Then you can scope the driver from both the live screen and the work file in the platform data which may be convenient if you need to reduce size. People who need to function the assumption the way each one burns then the platform data and then the size of the platform data which can be allocated. Again, the driver 104 will be allocated for you. So this is the serial form driver there's a special flag that serial form driver should be available super early in the beginning of the process. You may need to have the serial form that's really long to get there then in view of it and then they want the space on the warning or something like that. You can even flag in your driver. Now, matching the direct to your variables that was like this we just provided you with matched table that's very similar to that. Again, a method that's associated with that when you mention some compatible then the driver can tell what compatible is actually matched don't you? We can even possibly use that experience we can kind of have a cluster associated with that if there's no problem. Some users can work in the university of the platform data like this you can do example with this grad the platform data pointer is allocated by the driver 4. I extract some information about the data and data address given quality that I just set into the platform in the base address. Now, once the boot runs its function and the control function can reference the plan data base and to be sure that this is set with the policy component and finally the implementation of the all specific serial we've got in the interior loss both C, X, C they're dependent they're in the serial for platform so it's all going down there all kind of things going on there like so the spoilers are coming in they should be very simple to be able to go into the the back of the load in the platform the serial will get the the stage serial gets even better it's going to go in the actual edge that's going to get for a serial error Now, it makes it so happen that you will want to have some even earlier vbox serial model you can enable that with what you need on vwar and it's really like the special stuff which doesn't even fit into the driver model properly but it might come in helpful if you use a specific set of print commands it doesn't even need to print that there's not a print in that this piece of code into your serial driver which really initializes entering a serial driver by opening their instance directly it doesn't bind them to my screen at all and you have to go into the sort of C which makes sure that it's a character on the serial board and so this is like super specific it's probably convenient if you have a vbox more dedicated one on that platform otherwise most likely don't need that so it exists the other thing is if you're going through the serial driver now in the company spot well, if you're going through the phone driver, it's exactly the same thing it's the vbox spot and it has the VM CLK option which allows you to enable the table clock to get an entry so this is more than what we'll get into it for the user the vbox is going to use the CLK on the store function so CLK gets an entry and then it's gone serial for driver for example can happen with the cell this is pulled from the data taken on the device so you'll have in the directory know for this serial for VboxProperty and VboxNameProperty the VboxProperty will name the VM over to the VboxController and put them in the ID of the Vbox and the VboxNameProperty will name this query the VboxProperty will view that query without which VboxController that is the VboxProperty and the VboxProperty and the VboxProperty so another thing is the ping control framework again, ping control drivers the thing is that the VboxProperty, VboxProperty the same there's just a small part in the ping control framework in that yeah, ping control is one of the things that one of the things that is the thing which allows you to select which logic of law in the CPU, go into a specific frame on the CPU and ping control will allow you to select the property of that specific frame that means that all it will have is that sort of properties ping control will influence the program actually ping control will finally have the action of ping control and ping control will go off consuming this API it's a little bit different because in this case even if it goes to a specific frame from the driver to a different work because different ping control will go off and it will differently is that the device should be satisfied with multiple ping control configurations and multiple ways to configure the things with different properties and it's okay if the ping control driver wants to set one of the other moving areas of the frame to get all human role that's on the stage and so does the matching space so it's easy to do it as a default that's not even this one this specific case is an human-ceiver controller which is operating in human-ceen either 3.0 or 3.0 setting your 1.8 or 2.8 setting of human-ceiver now the frameworks and so on but most of them are unguarded to driver models so it will look exactly the same there are a couple which are kind of still easy and most of them are likely tough so like Pyro or DMP framework is kind of easy there but the rest is pretty much okay but in any way all that stuff may trigger some problems with science so I don't like to talk about systems now even if you're not able to drive a model you will run into some 5 minutes so that's 10 hours problem but yeah I could think of more than an armistice nowadays it's usually when it starts up it's just a small piece of co-interview of CRAM that's supposed to be initialized to CRAM the next thing right so we support the view that's called the ESDL it's really just a thumb down version of the input which fits into the end of the view but you can have this as you load that after a couple of years of viewing CRAM and then load it to the next stage now the SPL is capable of loading because it fully avoids or it can load many directly for an easier load time it's called the falcon mode you can make it look like that you don't have the rest of the control at all it also doesn't have to get out to drive a model this is optional but it's going to be enabled now you can configure both the user and the ESDL separately in your capability that's a good point you can come to ESDL 3k for SPL and come to ESDL 4k for 3k for 4 years in case the business still isn't enough the system has some limitations where the ESDL will not be integrated with either ESDL which brings down the extra to a millimeter and the beauty of this one is where the window from which the system is within like 4k to 2k and it's like super specific starting it up talking the rest of the content of the one ESDL to CRAM which will then be done if you leave ESDL in the point of ESDL that will be perfect because this is like super and again yeah you can configure ESDL for ESDL you can have them free and configure them separately that's another problem now the other thing is if you're using device 3 in ESDL it can trigger again some time in it this one is we call it a bit of ESDL if you have if you need to use ESDL and those when you have ESDL for ESDL you have to move all the nodes you can to have this property to manage the side of the wall having the ESDL it's still going to be and with platform they are going to have more file in ESDL and it needs to have these wall savings on the sides of ESDL yeah that's pretty much it I wasn't going to summarize it so if you're doing before UTM you see the state-of-the-art pretty much what I'd like you to do if you're doing more I'm sorry if you're writing you want to just reuse whatever is available you can reuse on patents for example on some systems we use a deep drive controller and drivers which are written from a written system you can stabilize your compatible to find the source of the problem if you have some fixes whatever some of the gadgets it may just happen that it will not go in on the first try but keep going reminiscence is very serious for somebody to take that I'm going to ask the questions wait for a couple of hours because there may not be anyone who actually knows the answer to the questions so wait a couple of hours you can have someone look at that if there are any questions to the NL that's pretty much it so thank you for your attention and what you are and what you're doing to turn on so the question is why do we rewrite our own drivers for you than the ones that use drivers from Linux do you think we need to try to do that so it's impossible with all processors so for example the USB system is now importing drivers from Linux and just adjusting them to match into the driver model which is slightly different so yeah we're trying to do that and recycling devices from Linux but there's always different yeah there's always different there are some drivers which are just written from scratch that's true


Hello, my name is Julian Jenkins and today we're going to do a mindfulness meditation and a little bit of a talk about releasing grief and understanding the process of grief and the uniqueness of it all like all mindfulness practices the ability to give something space just to open up and have The wonder and gratitude of everything that we have the saying of we only truly appreciate something Just before we have it or just after we lost it can be severely felt on the passing of a loved one. I am recording this meditation on September the 9th 2022 less than 12 hours after the passing of Queen Elizabeth the second Here in the UK there is national mourning out grieving of pain and grief for somebody who was hugely influential in some people's lives The moral compass in others and just the Queen to others For times of grief it can be helpful to allow What's there just to be there and to open in a space of wonder and gratitude? You may ask, how do you allow what's there to be there? When we feel very challenged by something and this challenge today Maybe grief of a loved one or the collective grief of the passage of a monarch or we can do sometimes is to simply wait it out to be with our feelings as they happen to experience them in the body and to let them flow Oftentimes it means allowing yourself to cry to express yourself to a friend and to allow yourself to grieve with all the complex emotions that wants to present themselves Join me now Just closing your eyes and taking a deep breath in knowing that this moment you're in a safe and protective place knowing that our people by your side and sometimes when we just connect in with ourselves for the first time maybe being wrapped around with grief it's very healing sometimes just to allow yourself to be allow yourself even to the point of falling apart to sense the humility in yourself knowing that many terrible things have happened in the past and unfortunately will happen in the future but understanding as you breathe in and breathe out that you have the courage to acknowledge the loss to know that it's a cycle of life to know that we are all imperfectly perfect and how we deal with this moment of grief there's no right way there's no wrong way there's only your way the ability to ride the waves of grief with mindfulness and self-compassion over and over again breath by breath and there is no way to know when grief will end but we know with caring presence it will it's also important to remember that what is moving through your mind is part of a vast complex physical and mental process which has many sources and as you know grief has its own way of unfolding no one can plan it or get rid of it sooner or later it can feel appropriate to want to let go to release those heavy feelings and as time goes on sometimes the grief may be so heavy that we have to set it down for a while take a walk outside think about our nutrition talk with a friend spend some time in nature play with an animal something anything positive that can just give you those fleeting moments of space that doesn't remind you of the sadness as you're breathing here the gift of being a friend to yourself will give you the energy you need to come back to your process with courage with vigor to allow you to be with your grief it can be possible to bring awareness to some of the positive aspects of your life which empower you to see more of your mental experience more clearly and to feel the body sensations bringing some thoughts of happiness of the memories of the people that you share the meaningful moments there can though be this underlying sense of the unknown the uncertain the mystery of life in which we find ourselves right in the middle of even more so at times of loss a sense of wonder a sense of gratitude it's important to be loving in all ways small medium or large this loving is like a balm to your heart it reflects it reflects on and receives the caring support of others and with all this in mind just following your breath breathing in breathing out just observe your mind and your body maybe even give yourself a small distance as if you're viewing yourself as a third party but allowing the sensations to be however they are and maybe try not to be negative about anything that doesn't feel good and after a while why not shift into gently releasing those emotions and feelings giving self that space to sense and feel them to know that this is grief this is normal grief is a human emotion that we feel at times of loss it's okay not to be okay if we can open to the wonder and have gratitude for the mysterious ways that our life unfolds as we allow our grief to unfold alongside giving yourself that kind awareness really opening up with the courage to sense the positivity of life remembering that you can bring attention to the feeling of positiveness even when sadness is all around us or when other feelings are present it's important in times of grief to allow what's there just to be there opening up that space of love of wonder of gratitude and whoever you may be feeling the loss or grieving for I thank you thank you for your courage to be with your grief with caring awareness this is mindfulness so thank you for your mindfulness mindful practice at this time be love and give love


The ranks of the all-progressive Congress as well by more than 5,000 people in Delta state. That many people were welcomed by the party in three local government areas after the campaign. The defectors said their decision to leave their former parties and join the APC is as a result of the leadership of the deputy president of the Senate, Senator Oviomuagege. They commanded Senator Omuagege for his representation of Delta Central Senatora District in Abuja.


I'd love to get it to a space where more people can prototype in stuff that isn't going to be thrown away, so be that code or whatever it might be. It's self or the feeling of it, you're just, I'm doing this transition, this transition looks smooth rather than what is the intent, I think that's the thing that's often times lost. One of the challenges I find with prototyping tools is you spend all this time working on something and then you just throw it away. But I know the way you've worked on, say, Plaid, is you've actually worked in the code and prototyped in the code, which again kind of like blows my mind. What is your preference with that?  Do they hold back the design process? I'm asking you lots of questions all I want to go. No, it's cool, man. You're asking me lots of questions about my favorite subject, so that's good. I love prototyping tools because they enable people to prototype and I think more people should be prototyping. I agree that I hate spending time building something and making something that you might end up throwing away. Which is why for me, I find I don't spend a lot of time in prototyping tools because I kind of get to an idea as quickly as I can and then move into code as quickly as I can because I can code. But if that's in your skill set, then moving into code might be a good option for you. Maybe you use something like Framer or something like that where you might be able to use some of the code later on. But if you can't code, if you don't have the skill set in your arsenal, then maybe a prototyping tool allows you to get into that space. So I feel like more people should be prototyping, but I'd love to get to a space where more people can prototype in stuff that isn't going to be thrown away, so be that code or whatever it might be. Yeah, I suppose, I guess it really does come down to a point of thought the intent of the prototype is.  That seems feels like wasted. Well, like the prototyping tools I like, especially recently between like paper prototyping where you literally just got screened paper and you film someone and you press it and you change the paper right in front of them. That seems more valuable because you're learning the flow rather than thinking really like trying to prototype the transition, which seems like now you should really be getting a developer at the very least doing something. I mean, what do you think about?  There's kind of lots of static screen design. And then like things fall through the crack. So I think anyone starting to do prototyping at all is good, but then I agree there's totally a diminishing returns to, if you spend so much time absolutely polishing every fine detail, then like that's kind of past the point of prototyping. For me, it's about getting to learning really quickly. It's getting to that point where you work out, is this going to work? Is this something we should pursue or should we throw it away?  You kind of like your baby, you kind of like polish this too much. And so that's dangerous because then you're not using prototyping for prototyping's like real purpose, which is to learn. So yeah, I agree totally. I think that low fidelity stuff like paper is awesome. Like normally most of my transitions, animations and stuff like that, I normally have post-it notes on my desk. You've probably seen my desk covered in post-it notes. Absolutely. And I'm like going like this, like does this move like this? Does this surface make sense to move like this or something like that? Because it's so quick and I can throw away that idea like really, really cheaply. If I'd spent like an hour, two hours in a tool building that, I might not want to throw it away because I feel like attached to it. How have you gone about the process of designing those like really like the icons transitioning and all like, especially like in Plaid where the heart breaks when you unfavorable? These things are really beautiful. It was like, how do you actually design that? It's great to draw. I think I want to be great, but it's like that final step. Like I know designers use After Effects and I've never quite understood After Effects as a prototyping tool because it's just an animation. I mean, I just don't understand After Effects. So I mean, how do you go about the process of designing those delightful details? Well, part of it is I just find it so fun. So I think there's a lot of joy to be had in some of these animations that I want to bring back into some kind of very, you know, uninspiring UI sometimes. So I find those kind of like delightful details, as you call them, really that can bring an app and an experience to life. So I value that and I think that's like very important to a product. So part of that is like, you know, what motivates me to do it and how I do it. I think for me, because I have overlapping skills in like design and development, I think I take inspiration from both of them. So for example, like those icon animations you're talking about, I kind of went really deep into understanding what the capabilities of the software, the technology were. So I knew what the primitives I had to play with were.  And I think that gave me inspiration into, oh right, so given these, the building blocks I can build with, what can I make? And then just went from there really. So it was like, okay, so I know what I can build with it. What might make sense for this transition or this state change or, you know, moving into here? Do I want to direct attention or do I want to make this super subtle? So I think, yeah, the combination of the intent piece you were talking about with understanding the platform and then like bringing your creativity like to that basis is how I went about it. So for me, yeah, learning the capabilities was a super important part of the process. In terms of like designing the motion before you've actually made it, I mean, do you look at the UI and you're like almost searching for, what can I do to make this thing really cool? I mean, what is that step? Is that you drawing on paper or is it, you know, how are you like visualizing that in your head? For me, animation, especially like state change stuff, is all about lessening the cognitive load, it's hard to say. And for me, it's about like, you know, if something changes, how do I make it explain that change so like the user knows what's going on? That's always where I'm coming from. I don't really start from what can I do? How can I make this show busy or, you know, like bling? So coming from that, you normally have a start state and an end state and I want to make the, you know, transition between those two as smooth as possible. So I think that's where I start from. So then it's thinking of creative and like delightful ways that you can ease that. So I think the example you picked of like the heart breaking, you know, I knew I wanted to go from a state where you had a filled heart to a state where you had an empty heart and it's like, what could be a way that you could do this and, you know, I just, that's the way you bring the imagination and you play with it and you understand the capabilities and the thought that heart breaking and then it redraws, why not? And motion seems to be like the fashionable thing at the moment, but my fear is, motion is like the sort of the jazziness that you were speaking about people doing it because we now have the capability to do it. Like you have the frameworks and the libraries and whatever, which makes these transition states quite simple. The fear from my point of view is, are people just doing it for the sake of doing it? Like it becomes visual distraction as opposed to what you're saying earlier, that you're supposed to be guiding a user's eye to like... That's definitely a fear. I mean, there's always a pendulum swing, right? Where something becomes easy and people overuse it and then it kind of goes out of fashion and it swings back and it probably readjusts somewhere in the middle. Like I agree that maybe we are in that state, maybe with the explosion of prototyping tools, suddenly motion has become more accessible to a bunch of designers and maybe they're kind of like going into that space and like learning the boundaries and maybe there'll be a readjustment back to it. But I think you nail it because like good motion shouldn't be noticeable in many ways. It should be that thing that kind of explains or supports what's changed, but it shouldn't be like eye catching. Sometimes it should be, sometimes you need to draw attention, but a lot of the time it should actually make this kind of a transition simpler and like you don't notice it. It should be the case where if you turn animations off and that suddenly it feels very staccato and it just feels kind of like broken like really because you understand the motion is playing this supporting role. It's not like the style. It's kind of like helping to unfold the scene. Do you think that sometimes we leave motion design and interaction design as an afterthought? Absolutely. Like there seems to be like, and maybe that's where the problem lies. Like because it's an afterthought, it's like how can I make the explosions rather than I've got two view states. I want to go from one space to another. What can I do that actually enhances the experience and not like. There's a couple of things going on. I think in the industry as a whole, I think like the increasing tooling, like making it more accessible to some people is one thing. But also a lot of people have a lot of fear because they say, hey, I'm not a motion designer. I'm an interaction designer. I don't know what I'm kind of doing here. So I think they kind of are intentional a little bit that some people are getting into it like headstrong and some people are like too scared to do it. So I think we're an interesting place in the industry now where motion is becoming more apparent. My favorite things about material design is that it elevated motion as like a first class citizen. It kind of explicitly said, you know, we don't think that motion should be sprinkled on at the end as kind of little moments of joy or whatever. It said that this should be part of the experience. They kind of put it on the level with like, you know, layout and content and hierarchy and had motion as like one of the main pillars behind it when it kind of first launched. And I kind of really appreciate that because I agree. I think good motion makes an app more understandable. It's more akin to kind of interaction design to me than it is to kind of a visual polish level. What do you think is the next step for a designer who, okay, they've seen the theory. They've got some ideas. What should they be doing next? Because material design is great, but if it doesn't fit your app or if it, you know, you have other ideas, how can you improve on your own transition and motion? What I'd love to see is people taking that to the next level. And I think motion can be, you know, a real like pillar in your kind of like brand strategy, almost like the personality of your like application or program, whatever it is. You know, you wouldn't want every single app to use the same typeface or same color. Yet like a lot of applications are using the same kind of like motion curves or the same kind of like motion strategy. So I feel like as people will kind of mature along the curve of like understanding when to use motion and when not to use motion, I think we're going to go into more of a kind of go deeper with it and work out like how, what is my brand's motion? Like am I, how do I have this feeling? I kind of like, you know, should I use some kind of like spring motion to kind of communicate something? Or am I like a slower, more sophisticated thing? Or do I use stagger in this way? So I think we're going to see people go deeper to like express personality through different kind of motion rather than just a vanilla, okay, we've got a transition that's better than not having a transition. But what should that transition say or not say? In terms of the actual tool sets, Lottie seems to be quite popular tool. I mean, how are you using that to design some of the icon transitions? So Lottie is pretty awesome. I think it's really made motion kind of more accessible to a lot of designers out there, especially like the ease with which you can hand off between design and engineering. I think they've done an absolutely fantastic job of that. If anyone has not used it, it's basically an After Effects plugin, which means you can export from that straight into a JSON format. And then you drop that straight into the web or Android or iOS. It will have players for it, which will then just play it. So in terms of workflow, I think it's been phenomenal. There's definitely some ups and downsides to that. So it's very tied to After Effects. So if you want to work in After Effects, then it's great. So that can also be extremely daunting for some people. So say you just want to do a simple icon animation and say you want to do the hamburger to a back button or something like that. Like if you're not already skilled up in After Effects, then it's not going to help you out there, really. Just going back to some of the other stuff, specifically material design, I think one of the challenges we've always had is because of the way the material design guidelines are written is like do's and don'ts. And I think that's really helpful for people who really introduced into design. But likewise, these are complete rules. And the thing that we've always pushed out is guidance. And I know you were speaking about the material design layer cake. If you can remember. And what do you think about this idea of guys versus rules or vice versa? Yeah, totally. I completely agree. I think the way that the guidelines are written are really good. They're kind of aiming to be succinct in that they kind of like have these clear examples do this, don't do that. But they can seem very prescriptive because of that. And we don't always kind of communicate when something is kind of like nearer to a rule and when something is nearer to a guideline. And there is a variety of those things. And we were talking a while ago about this layer cake metaphor where there's kind of free layers or free different types of guideline in the material guidelines. And as such, they're kind of like how close to a rule they are kind of varies. And the way we kind of been thinking about it is that the bottom layer, you have this kind of layer of foundational type things which is based on stuff which is kind of observably true. Based on how people interact with computers, like how big people's fingers are, like certain things are just kind of facts. The ergonomics, the physical. Right. So when we say don't use touch targets smaller than 48 dps, that's not going to change. So that's nearer to a rule. And so you shouldn't really violate that. The next layer is something called We Think of Conventions. So that's saying there may be a dozen different ways you could solve a design challenge. But if every application approached it as a novel thing, then users couldn't learn it in one place and apply it elsewhere. And as such, it's going to feel harder to use your app or it's just going to feel like a mess. The platform isn't going to feel like it has any rules of the road. So in those cases, it's kind of like a not a rule, not a guideline somewhere in between trying to start from the patterns defined on the platform and then vary if it isn't working for you but only do it for a good reason. Deviate with purpose is the phrase we've been using. And then the top layer of this cake is one of personality. So that's things like the colors that you choose, the type that you set, the motion, perhaps the curves that you use in this. We have to express it somehow when we give the guidelines. And so we kind of use some fonts and some colors. But those are in no way prescriptive. Just because material says there's a bunch of different reds you might want to use, we want to help people out if they don't know where to start from. It doesn't mean these are the only shades of red. If you're Ferrari or the BBC or whatever, you have your own brand palette and you're probably going to pick from that or you have to pick from that, you're not going to stick to that and stick to the material guidelines. So I hope that illustrates that while it might seem like rules sometimes, that it varies based on the level of the cake I guess you're at. And you need to understand that as well so you know when to vary it and you know when to stick closer to that one. When you've made it yourself, you've filled it out a hundred times, you've tested it yourself and you don't think about the fact that a user is going to be coming to it in a different state of mind, right? They're tired, they are trying to fill out as fast as they can on the phone, right? So I think developers just aren't really thinking about the fact that they need to take these extra small steps.


So hello everyone, Maxime here. I'd like to welcome Annick Renneré from clinical genomics. Carly is going to sit. She's going to talk about the RNA-efficient pipeline, which is a pipeline I, because I like a lot because I used to work on this one. I'm still like helping out a bit, but there's definitely, she's doing like way better than I was doing at the time. Yes, thank you Annick for that already. But before we start, I'd just like to quickly change the cutback initiating for helping us out and organizing these bite-sized talks. And two other four listeners. So you'll be able to unmute yourself at the end of the talk for questions. So Annick, you're on. Hi everyone. So yeah, I'm Annick. I'm the main developer currently of RNA-efficient. And I will lead you through, hopefully short technical introduction, a little bit, what is our goal with the pipeline, what we can get out and how to use it in a few words. So I will start with a little bit. Interesting, yeah. Our angle with the pipeline. So we are coming from the clinical genomics unit in Stockholm is having a lot of links with clinical diagnostic. And we are providing analysis tools that help diagnosticians when they are reporting back to patients. So we are really part of routine clinical care. And clinical genomics is sitting in CYLA FLAMP, which is a conglomerate of four different universities that work together. So we are part of an organization that is part of the new organization, et cetera. So hence the multiple applications. So we need fusions in, because they have been detected increasingly in many common cancer types. And they are a very valuable tool for diagnostic purposes. The first versions were developed during Martin Approx master thesis at CYLA FLAMP. And he has been building on the work of others and exactly Maxime has been contributing to it a lot. But we have a lot of different contributors along the years. Unfortunately, it got outdated as many scientific software do because we got a lot of other things on our desk, I'm guessing, and the software got updated. The database got, bases got much better. And all of a sudden, when we wanted to use it end of last year, the pipeline was effectively broken. We couldn't download the references that we needed to run. So there was need for some rework. So that's when I came into play. And so there is the now version 2.00 2.00 has come out already. And it was a complete rewrite and an upgrade to DSL2 syntax. It includes flexibility so that you can make the pipeline do more or less what you want. Otherwise, just open an issue and we'll see what we can do. We see a lot of options and adding visualization and quality control tools. So the main goals is to detect fusion in RNA sequencing, but there are many different ways, different tools to detect fusions. So the idea is to combine the power of the tools available and to compare them. To compare them between themselves and also with databases of fusions that are already present, which can help you in case you're looking for a common fusion type, but can also, if you're looking for another fusion, you might want to go further than just databases. So this is just an indication. It is also completed with visualization tools and quality control. So the pipeline overview looks a little bit like this. So you can imagine it like a network of different subway lines. You can take any of the subway lines, all of them, or just maybe Ereba, Squared and Bisley, and you maybe don't care about fusion catcher and star fusion, something like that. You also have a parallel line that is considering of the quality control and the core analysis tool, which will lie here, where the fusion reports, which is a tool developed by Martin Prox, that basically takes all of the fusion detected by the five different subway lines, put them together and check, okay, is this fusion identified by this tool and is present in this database? And then once we have looked at this, we take every fusion that has been identified by two tools or more and we look again in more detail into it with fusion inspector, collector statistics, et cetera. So here is how the output of fusion report looks like. You can see that it has an interesting dashboard where you have all the tools, known versus unknown fusion databases, and by how many tools for fusion detected. So here we can already see a little bit that Bisley, in our case, was very sensitive. So it detected many fusion. Now I'm gonna try to do an interactive demo. Let's see how it works because this is also the table here is very nice to look at it a little bit more in detail. Do you see the browser? Yes, no problem. All right, good. So you can see that here I can highlight how many fusions were identified with Bisley and if I hide the fusions identified by Bisley, I can have a look which tool identified how many fusions which is quite interesting. And if I remove fusions that were detected by one tool, probably Bisley, then I have a bit more for detailed panel here. And this table though is very interesting because you can sort how you want it, like change the orders, et cetera. But basically, so this is a sample that is artificial. You will probably never see this, hopefully in a natural sample, but this is a sample consisting of 20 fusions. So you have those in the sample. And as you can see, they are found out by all the tools, corresponding to the five tool heads. And then you have a scoring function that depends on the number of tools that have found the fusion and also on the different databases that have found it. So that's a quite valuable tool if you want to compare between different tools. Now, coming back to the different results, we can have a look at Fusion Inspector. So here is just one side, the HTML output of Fusion Inspector, but there is a lot more and I really encourage you to run it and look for yourself if there is something that can be of interest to you, if you're interested in a special part of the fusion. There are BAM files, there are a lot of tables of statistics. So this is just an overview, but again, it's an interactive table, so you can again look at fusions and you have also some visualization possible in the browser, among others. So you can see some statistics here and a bit more about the gene and their position. The last visualization tool that I wanted to show you now is Ariba visualization tool. So it's only done for fusions that have been identified with Ariba. And so you basically get a PDF file out which one slide per fusion and this is one fusion. And you can see that you have a very detailed view of where's the breakpoint happen. So you, oops, sorry. So you can really have an idea of the sequence, et cetera. You can also have a quick look at the retained protein domains which might have already an importance pathologically and a few supporting read counts like statistics. Now, a little bit about how to use the pipeline and what you would have to do is first build the references. And this requires patience because at the time we are building star fusion reference from scratch and that takes about 24 hours on HPC. So, yeah, just don't be surprised that it takes a long time. Yeah, it is what it is for the moment. I'm hoping that to make it shorter at some point if I can host the references directly is a build references but this is something I'm working on. So you would have to start by creating a cosmic account and passing your username and password to the software. Then you would have to specify build references and the tools that you want. So here I put all because I find that it makes sense to build for all tools. But if you only want to use Ariba then you can just do dash dash Ariba. If you want to use Ariba and fusion catcher you would use dash dash Ariba, dash dash fusion catcher and you would only download source references. Then you need to provide genome space which is a pass to your references and out here which will be the output directory of the run. So in this case it will not contain very much because all of the data so to speak the references will be generated in genome space but you will have still the execution trace logs the versions, et cetera in the out here. So now to run the pipeline. So you just do not specify build references and it will run the actual analysis. Again, you have the possibility to do all of the analysis or you can just do any combination of the four tools that you want. So if you want fusion catcher and squid dash dash fusion catcher dash dash squid. If you want everything except PISLI just specify each tool and not PISLI. You also need an input this time. It will not complain if you do not have an input in the first, when you build the references but if you try to run the pipeline it will complain if you don't have a sample sheet. So you need to create a sample sheet with your sample. The first three columns are standard and if core. So as a sample name, FASQ1, FASQ2 and on top you have the strandedness that is depending on your library preparation kit. You need to link the genome space that passed to your references and the out there is this time very important because it will contain all of your analysis. Yes, so I included a few things to help you gain more flexibility in your usage of the pipeline. You might just use it very standard. You don't have to even look into these options but if you are looking into doing something more specific or gaining some time at runtime then it might be useful for you. You have the possibility to skip the visualization if you're just interested in the different results for the tools but not the visualization. So you would skip, with skip underscore this you would skip a river visualization and fusion inspector. Skip QC, you would skip the entire QC line. You could manually feed references pass for each tool if you have them in different directories. And you can also just run fusion inspector with the option fusion inspector only and then you will have to provide fusion inspector fusion and the pass to a file that you manually construct and that has a fusion that you want to look into was a sample and then only fusion inspector would appear. So as you can see, you can have a few possibilities to enter at different points of the pipeline. It has been suggested to me to maybe also add an alignment shortcut so you would feed manually alignments to the pipeline. This is a great idea. At the moment, as you can see, we are aligning basically for each line and this is because we have each time parameters for the alignments that are optimized for the different fusion detection tools. So it should perform slightly better but if you want to save time, you might want to bypass the step. So this is something that I think I will work with in the very near future. And about the future, I will talk a little bit about what's going on. So there will be a next release hopefully very soon with trimming, adapter and quality trimming with the possibility to run string tie as an extra line. And that will be helpful because there is a type of fusion that is not detected by any tools that is implemented at the moment and that is when you skip, for example, next zone, it was in the same gene and that should be resolved by using string tie. But again, if you're not interested in this type of fusion, you could skip it completely or run justice. And now I have no pressure, but I'm really looking forward to see if we find a solution for the AWS mega test so that we can host a demo on results on the website and then you can have a look yourself to the results that the pipeline can give you. On the in next few summits in Barcelona, I will present a bit more details hopefully on our implementation production, what sort of issues we are facing a little bit about data. And I'm hoping also to release a how to video with more details and hands-on demonstration about each command line option. Now, if you have any questions, happy to hear them now or feel free to reach us out on Slack or on GitHub, open an issue. It's been great to hear about the different experiences. Yeah, thank you for your attention. Thanks a lot, I think that was super good and super clear. I really like it. So now people should be able to unmute themselves if they have any questions. I think we have Anne who is like so say something. No, just show me how we do. I think I had a question. Thank you for the nice talk. So the visualization and everything is amazing because it really sort of puts these things into perspective. And for a while this pipeline stood out here because we don't really have that sort of thing for most other NF4 pipelines other than maybe the multi-QC report. So it's quite nice sort of having something that's customized that you can use to organize and query the results and stuff. I guess we should probably start thinking about how we do that for other pipelines as well at some point. In terms of references though, is it just human samples that the pipeline works with or is there to do others work? Is how easy? Because I tend to keep up to date with what's going on in the Slack channel but things get out there very quickly on NF4 as you know. What I've always been confused about is about the references that are out of the box compatible with the pipeline and how easy it is to create references to use with the pipeline because that's been quite a big issue recently in terms of creating these references and using them. Yes, so I won't say it's easy but it's possible. You could basically feed any reference that you bid yourself to the pipeline. The recipes are there in the pipeline when I built them. So if you feed a non-human mouse or something like that FastQ and GTF, then you would be able to build the references for non-human but again not guaranteeing that it's easy. So what's the problem? Where's the complication? You might not find the exact same types of files or you might be missing databases. So of course the whole database is human-based so you won't be able to compare but mostly I think it should be possible. It's more like searching for the right files, testing a bit. Okay, cool. Is there any... Do we have these databases on NF Core anywhere that are just easily pullable or is that part of what you are going to do next? That's something I would love to have. And that would reduce also our tests a lot because at the moment, as I said, it's 24 hours to build the references. So if I could host them somewhere, if you have some space, shout out. Yeah, I'm sure we could make it available somewhere. I mean, I guess the thing and slightly going off topic now but the AWS IDNOMs bucket we have on S3 has typically been used just for that and so we haven't really added any other custom files to it but it could be something we could maybe just push there. If it's tested and it works and we knows, then we can just have an S3 part and upload it. So if you get a list of assets together, then maybe post in IDNOMs and we can try and make it happen. Definitely, yeah. Cool, thanks for the talk and see you at the summit. Yes. Does anyone has any other questions? Then I guess we're good. Thank you very much again, Anik. Now let me stop recording.