RISCy Business: Development of a RNAi design and off-target prediction software
Lück, Stefanie
Stefanie Lück - RISCy Business: Development of a RNAi design and off-target prediction software RNA interference (RNAi) is a biological mechanism for targeted inhibition of gene expression. It has also been used routinely to discover genes involved in the interaction of plants with pathogenic fungi. To minimize the miss-targeting of unrelated genes and to maximize the RNAi efficiency, we have developed a PyQt based cross- platform software tool called “si-Fi”. Our aim of the talk is to show that also hobby programmers can use Python in a very useful way.
 Okay, let's start. So who we are? So I'm Technician. I'm working since 10 years in a plant research institute which is nearby about 200 kilometers from Berlin. And our focus is to search for genes which are involved in plant-patterging interactions. And we use Bali and Paudimildio as a model system. And here you can see Bali plants, young Bali plants which are infected with Paudimildio, which is a major problem in the field outside, so you have a lot of losses due to this patterging. And we try to find genes which are involved in these interactions by reverse genetics. So how we can do this? So you might know that the genome of higher organisms are very large. So for instance, for Bali, it's almost twice as big as the size of the human genome. And this means you have about 30,000 genes. So how to find genes which are involved in only in plant-patterging interactions? So how you can do this? And we use a tool which is called interference, which was discovered in the 90s. And people thought they wanted to make petunia plants which are light blue. They wanted to make a dark blue. And they thought, okay, we know the DNA gene for the blue color gene. And let's add more of this in the plant, and then we have petunia plants which are dark blue. They did this, and actually what happened was exactly reversed. So they found that the flowers are white, or they have only stripes of blue color. And they sketched ahead and repeated experiments, but it's always turned out to be the same. And it took quite some years to find out that there's a mechanism behind this, which is called RNAi. So how does RNAi work? So if double-stranded RNA enters the cell, which is very unusual. So people think that this mechanism is used to defense against RNAi viruses. So if double-stranded RNA enters the cell, it's recognized by an enzyme called dicer, which you can see here. And the dicer cuts the double-stranded RNA into small pieces, which are about 21 base pair long, which are called small interfering RNA or SI RNAs. Then another enzyme detects these small RNAs, take it, remove one of the strands, which is important for later. So only one of the two strands stays, and builds a so-called risk complex. This risk complex then is attached to the target, which is the mRNA, which is here. And this binding of the risk complex blocks the translation, and you have no protein. So if we go back to our blue color gene, so you have the natural blue color gene in the plant, which is the mRNA. Oops, I lost my... So here you have the natural gene in the plant, and the people added more of the blue color gene here, so the double-stranded RNA. This was recognized by the plant. It was bind to the natural gene and blocked the translation for the blue color. So you have no color anymore. So this is how it works. So with this, you can efficiently silence and knock down genes, and it works very well since many years, so people use it in humans, in worms, in plants, in many species. And we also use it, so we have developed a testing system where we can use this tool. It's very efficient and very cool, I think. So that's why we call it reverse genetics. So if you don't know what to do, you switch off gene by gene and look what's happened. Okay, so people use it, but there are two problems with it. So the first problem is that you might have mis-target of other genes, and the other problem is that not every silencing is efficient. So how we can... Yeah, we wanted to make a software to predict these problems, and also to use this tool for designing good and efficient constructs. So we wanted to make a software which can predict off-targets, which can predict efficiency, and also we wanted to test this software. So we made this software some years ago, but in the last year, we wanted to validate it and to make real experiments and to see whether this prediction is true. And of course, we want to have a nice software which runs on Windows, and everybody can use it and combines all these features. So what is an off-target? So imagine that you have... You want to make a construct, so you want to knock out the gene. So you make... Artificially, you can do this in the lab, you make double-stranded RNA construct, and then you have to check whether you only target your gene you want, and not only another target. So as I said, you have about 30,000 genes in the ballet genome, so the chance that you might hit another target is quite high. So as you can see here, so again, double-stranded RNA split into small RNAs, and then we use a short read-aligner, which is called bowtie over python, and bowtie tried to find all the matches from the small interferonitis against a large database, for instance, the ballet genome or the human genome, whatever. And if you designed a good construct, you should only find heats of your target. But now and then you might have off-target, which is here, which have, of course, much less heats, but they might be efficient enough also to cause science to have an off-target effect. So you might not only heat your gene, which you want, but also other genes, because, for instance, in ballet, it's very common that you have gene families which have the same sequence, so very similar sequence, and it might be that you heat also another gene from the same family, which you don't want, usually. So it's important to predict this and to know it, and maybe to change your construct's design, for instance. So then the question lies how much similarity is required for being an off-target, and we used a theory, a model, which is called a molecular clock, which says that about every one million year in evolution, one nucleotide is changed. So if you have a common ancestor, which has the sequence like this, then after one million year you have usually one base pair exchange. So here, for instance, I have to see, C turns to G, and here NA turns into T, and so on. So after two million years we have another change. And we used this to design our experiment. So we constructed 15 constructs, we made them synthetic constructs, which have, so we used one target, which we know it works, so we worked in ten years on this, and we have very good efficient constructs and targets and tested and everything. So we used our best candidate and made 15 constructs, synthetic constructs, with decreasing matching similarity. So you have the zero million years, so you have no change, so you have 100% identity. And first we did this in smaller steps, so 98%, 96%, so on, to 90%, and then in larger steps. And then we run this over the short retail line of a bow tie, and you expect that the hits you get are much decreasing as well as the identity. So in the best case, 100%, you have 408 hits from the sireness to the target, and it's decreased to zero at the end. So you don't hit any more your target. So we made these constructs and we tested in our system, and unfortunately, I have no time to explain how it works, so you have to trust me. Here you can see all the constructs, and 100% means the construct has no effect. They are under control, so the control is 100% here. And as much, as stronger they go down, the more they have the effect, so zero would be the best. And the red bus means that the construct is significant, so we usually do about five experiments, more we cannot afford because it's expensive and very laborious, and after five experiments we do statistics and then we see what stays significant or not. So the red means it's significant, the blue means it has no effect, not significant. And you can see here, it's very interesting that to the 4 million years, to the 92% identity, you still have an effect. So this silencing works, you knocked out a gene. But starting from 90% to 50 million years, or to 30%, you have no effect anymore. You lost it. It's not working anymore. Now the question arises by 90%, you still have 59 hits of the from the alignment, so you have 59 as RNAs which made your target. So why you don't have an effect anymore? And this is raised, the suspicion was also what the people know since long time that not each RNA is efficient. So you might have as RNAs which are not efficient, and as you can see here, most likely studies with this 59 you have it, but they are simply not efficient enough. So when we started to make the software, we used very basic words to estimate which as RNAs are efficient. Because people did not know exactly what's going on and what meets these efficiency. We used stuff like A and 2 at the beginning, and the GC content and temperature. But in the last few months, we wanted to reimplement the software and to have a better prediction of the RNA and also to confirm it with our experiments. So in the last couple of months, many research papers appear which guess a lot this efficiency, especially in humans, and it turned out that the thermodynamic properties are very important, also the structure of the RNA. So things like minimum free energy, self-folding, free ends, or target accessibility. So we use this, and the first very important thing is the strand selection. So you have the as RNAs here, and then they are bind to an argon out, and one strand is a move, if you remember. So how does this happen? This happened like zipper. And this happens if the less stable strand is easily removed and open, and this strand is taken from the wrist complet, and one strand is removed. So this goes over the minimum free energy. If it's larger, so it's less stable, it's removed from this side. But now you might have the problem that the wrong strand is removed. So it might be not complementary anymore to your mRNA. You might have gotten the wrong strand. So this as RNA is completely useless. So this we included in our software to remove, to make a strand selection, and to remove all those RNAs which are not targeted anymore. So all the calculations we did after, we first run it over this strand selection to work only after with this which are really hitting the real target. The second thing which seems to be important, and it's published many articles, this is the target side accessibility of the target. So as you can see here, the RNA is, this is the primary structure of the RNA, which is in the cell, it's not really like this. You have a lot of folding. So you can see here you have complementary bindings and bloopings and such stuff. And this is the secondary structure and this is the, oops, sorry. And this is actually how it looks in the cell. This is a very small RNA and you see how much is folded and how much is going on. So it's not a flat line. And you can see already here that on some places it's easier to target it than on others. So if you have, for instance, folding and matching here, here it's very difficult to access for the RNA because it's already double-stranded. So these parts of the loop, for instance, might be much easier to access. And you can calculate these things with two called RNA-PL fold, which we also use over Python, which calculates the local base probability. So it takes the RNA and the target, part of the target. So we do this only on part of the target of the mRNA because it's much easier to calculate than on these structures. And it calculates the probability how much, how accessible it is from the RNA to the target. And you can do this for each base pair, but also for an average. So you can do this for the one-mayor, the two-mayor, and so on and so forth for the whole mRNA, to 21-mayor. And people found that it seems to be reasonable results and also interpretive results if at least eight base pairs of this RNA can access the target. So I guess if it's less, if it's like two or three base pairs, the energy might be not enough to stick the rest of this RNA. And so people found that it's good to take and to look on the data if there are at least eight pairs of this RNA matching to the target. And this is what we did. So we took our constructs. So for simplicity, I, so we check for each of these, so one-mayor, two-mayor, and so on and so forth. For each constructs of force, simplicity, I will show only the eight-mayor average because as I said, we found the same that it looks the most reliable if you would eight-mayors. And you have our constructs here which we are tested. So you can see here the position of the sequence position. So you have 500 base pairs of sequence of the target. And here it's shown the accessibility. So zero means this site or this position of the target was not accessible. And one means it was very accessible. And you can see here, so if you remember, the zero-mayor years and to the four-mayor years had an effect and the five-mayor years not. So you can see here that for the zero-mayor years, the one, the two, and the three, and the four have quite a lot of accessible sites. So this is the last construct with an effect and it still has quite some accessible sites where for the five-mayor construct, they completely disappear. So this fits to our data. So with this, you can efficiently say how efficient are the siren as you make with this construct. If you look more closer to the first construct to the one-mayor zero-mayor years, you actually can see that you have clusters. So for instance, from zero to 100 base pairs, you have not so many accessible sites. From 100 to 200, you have some. From 200 to 300, you also have some. And from 300 to 400, you have none or not only very few. And from 400 to 500, you have quite a lot. So this brings us to the idea to make five other constructs, which are called, which we call window constructs. We only have these 100 base pairs matched to the target. So you have from one to 100 a match, which makes only the target and the rest is random sequence. So it will not match the target. Then from 100 to 200, 200 to 300, 300 to 400, and 400 to 500. So we created these constructs and tested in our system. And the results looks quite interesting. I have to say that I just stopped to look at the results before I went to the conference. We just, we are not finished yet with this. But it looks already quite interesting. So we got the strongest and most significant effect was 400 and 500 base pair constructs, which you also corresponds very good to the accessible sites. So you have a lot. And we have no effect, no significant effect was 300 to 400, where there are also no accessible sites. And for 200 and 100, it's similar. The only what makes us a little bit more than month is the one to 100 window concept. But as I said, we still look on the data and it's also, we have to find here threshold and to define it, because this what was known from the human is, does not fit to the plan. Okay, then already I want to come to an end. So we created a software which is called sci-fi, which can be downloaded and run at the moment on Windows at the moment, I'm making it cross platform with Pico T, I switched the the GUE framework. You can have a custom database, you can find the fish in the sirenase and you can recommend and find miss target genes. And this is just screenshot how it looks like. So I think it's very useful. And I wanted to make this talk just to show that also non-programmers can do quite useful things with Python and can also, yeah, it's just, it's accept from the community, soon we will publish an article about it and yeah, I hope you liked it. How fast is this library? How much, I have no idea how long such a sequence is. The database? Yes, if you have some piece of RNA and want to do something, this is how much data is there? It's a lot of data. Is this done in a batch process? Yes, it's run in a batch process and both I use a database indexing to do this very fast. So I'm not, I don't know exactly the details, but it's do it very efficiently. So one check from the software takes about five seconds, so it's quite fast at the end. Hello. So I have two questions actually. So I'm seeing you using Biopython, right? Do you use that to do your blasts? No, so we tried blast at the beginning, but it was performing very bad for short sequences. So you have a lot of mistakes actually. So it does not find all the sireness which are actually there. So if you look on this graph, on the first graph, you can see on the blue line, so this was just taken to align all this sireness. This blast you will not have this line. You have gaps in between. It cannot find all this sireness and that's why we switched to bow tie. Biopython I just mentioned here because I use it for some handy tools like converting the reverse complementing and open files, faster files and such stuff. So this is not either you're using this not at all because you were saying in the beginning you're trying to find the off targets as well, right? That's also part of the software. Yes, it's also part. So this we do with bow tie. So I split in Python the query sequence to 21 miles or whatever lengths you like and then I take this sequence and use bow tie to find it in my database which is also made in bow tie. And bow tie gives me, for instance, the heat which you can see here. So this is actually, it's good. This is the target you want to hit. But you may type off target. So this also comes. So this is another gene and you might have here in this region you might have off targets. So this is done through bow tie. Okay. And this is like just maybe I can show. So this is, you know, if you have a, if you have querying target which are the same and you split it you will find each of these substrings on the target here. So you have eight hits. But if you have a mismatch in between, so an X here, you'll find only three. You know, it's like this. And for this we use bow tie. And just I was wondering whether those target side predictions, they are based on the secondary structure in some way. You do this? Yes. Okay. So I just started to work with it. And we tried to find thresholds. And maybe also we go for machine learning and stuff like this. But as I said, I'm not professional programmer. I need some time to develop all these. Okay. Thanks. You said that you are using bow tie as a short read assembly against probably some short reads. But I didn't get, maybe I didn't, maybe I misunderstood it. Where did the short reads come from? Yes. So you can enter your, in the software here, you can paste your query sequence. This is what we call a query sequence. And then in Python I just split it. So I split it to, so here you can choose the size. No, that wasn't what I meant. If you wanted to bow tie, you sort of, what are you doing it against, against the barley genome or some short? Yes, you can. So this is a very big advantage of Sci-Fi. So all the tools which exist online and also for downloading, you cannot use a custom database. So they're usually for humans. So as RNA is usually very often used in humans, everything is adapted for humans. But this is useless for us. So we need to check against the barley genome or whatever. So you can make a custom database and you can check against this. And this is very important because, you know, the sequencing of the, the barley genome is ongoing and you might have next week completely different sequence than last week. So we need to be very flexible here. Okay. So the bow tie is used against the published reference genome. Yes, or your own. So sometimes you have projects where you, you have confidential data. So that's why we also don't go online at the moment. And not, not some kind of short read libraries that you require. You can do this if you like. So you can download them and paste them and use it. But so we wanted to be very flexible at this point because all the other surface are not. Very interesting. Thank you. Thank you. Thank you. Thank you. Thank you.
 Okay, let's start.  So who we are?  So I'm Technician.  I'm working since 10 years in a plant research institute which is nearby about 200 kilometers  from Berlin.  And our focus is to search for genes which are involved in plant-patterging interactions.  And we use Bali and Paudimildio as a model system.  And here you can see Bali plants, young Bali plants which are infected with Paudimildio,  which is a major problem in the field outside, so you have a lot of losses due to this patterging.  And we try to find genes which are involved in these interactions by reverse genetics.  So how we can do this?  So you might know that the genome of higher organisms are very large.  So for instance, for Bali, it's almost twice as big as the size of the human genome.  And this means you have about 30,000 genes.  So how to find genes which are involved in only in plant-patterging interactions?  So how you can do this?  And we use a tool which is called interference, which was discovered in the 90s.  And people thought they wanted to make petunia plants which are light blue.  They wanted to make a dark blue.  And they thought, okay, we know the DNA gene for the blue color gene.  And let's add more of this in the plant, and then we have petunia plants which are dark  blue.  They did this, and actually what happened was exactly reversed.  So they found that the flowers are white, or they have only stripes of blue color.  And they sketched ahead and repeated experiments, but it's always turned out to be the same.  And it took quite some years to find out that there's a mechanism behind this, which is  called RNAi.  So how does RNAi work?  So if double-stranded RNA enters the cell, which is very unusual.  So people think that this mechanism is used to defense against RNAi viruses.  So if double-stranded RNA enters the cell, it's recognized by an enzyme called dicer,  which you can see here.  And the dicer cuts the double-stranded RNA into small pieces, which are about 21 base  pair long, which are called small interfering RNA or SI RNAs.  Then another enzyme detects these small RNAs, take it, remove one of the strands, which  is important for later.  So only one of the two strands stays, and builds a so-called risk complex.  This risk complex then is attached to the target, which is the mRNA, which is here.  And this binding of the risk complex blocks the translation, and you have no protein.  So if we go back to our blue color gene, so you have the natural blue color gene in the  plant, which is the mRNA.  Oops, I lost my...  So here you have the natural gene in the plant, and the people added more of the blue color  gene here, so the double-stranded RNA.  This was recognized by the plant.  It was bind to the natural gene and blocked the translation for the blue color.  So you have no color anymore.  So this is how it works.  So with this, you can efficiently silence and knock down genes, and it works very well  since many years, so people use it in humans, in worms, in plants, in many species.  And we also use it, so we have developed a testing system where we can use this tool.  It's very efficient and very cool, I think.  So that's why we call it reverse genetics.  So if you don't know what to do, you switch off gene by gene and look what's happened.  Okay, so people use it, but there are two problems with it.  So the first problem is that you might have mis-target of other genes, and the other problem  is that not every silencing is efficient.  So how we can...  Yeah, we wanted to make a software to predict these problems, and also to use this tool  for designing good and efficient constructs.  So we wanted to make a software which can predict off-targets, which can predict efficiency,  and also we wanted to test this software.  So we made this software some years ago, but in the last year, we wanted to validate it  and to make real experiments and to see whether this prediction is true.  And of course, we want to have a nice software which runs on Windows, and everybody can use  it and combines all these features.  So what is an off-target?  So imagine that you have...  You want to make a construct, so you want to knock out the gene.  So you make...  Artificially, you can do this in the lab, you make double-stranded RNA construct, and  then you have to check whether you only target your gene you want, and not only another target.  So as I said, you have about 30,000 genes in the ballet genome, so the chance that you  might hit another target is quite high.  So as you can see here, so again, double-stranded RNA split into small RNAs, and then we use  a short read-aligner, which is called bowtie over python, and bowtie tried to find all  the matches from the small interferonitis against a large database, for instance, the  ballet genome or the human genome, whatever.  And if you designed a good construct, you should only find heats of your target.  But now and then you might have off-target, which is here, which have, of course, much  less heats, but they might be efficient enough also to cause science to have an off-target  effect.  So you might not only heat your gene, which you want, but also other genes, because, for  instance, in ballet, it's very common that you have gene families which have the same  sequence, so very similar sequence, and it might be that you heat also another gene from  the same family, which you don't want, usually.  So it's important to predict this and to know it, and maybe to change your construct's design,  for instance.  So then the question lies how much similarity is required for being an off-target, and we  used a theory, a model, which is called a molecular clock, which says that about every  one million year in evolution, one nucleotide is changed.  So if you have a common ancestor, which has the sequence like this, then after one million  year you have usually one base pair exchange.  So here, for instance, I have to see, C turns to G, and here NA turns into T, and so on.  So after two million years we have another change.  And we used this to design our experiment.  So we constructed 15 constructs, we made them synthetic constructs, which have, so we used  one target, which we know it works, so we worked in ten years on this, and we have very  good efficient constructs and targets and tested and everything.  So we used our best candidate and made 15 constructs, synthetic constructs, with decreasing  matching similarity.  So you have the zero million years, so you have no change, so you have 100% identity.  And first we did this in smaller steps, so 98%, 96%, so on, to 90%, and then in larger  steps.  And then we run this over the short retail line of a bow tie, and you expect that the  hits you get are much decreasing as well as the identity.  So in the best case, 100%, you have 408 hits from the sireness to the target, and it's  decreased to zero at the end.  So you don't hit any more your target.  So we made these constructs and we tested in our system, and unfortunately, I have no  time to explain how it works, so you have to trust me.  Here you can see all the constructs, and 100% means the construct has no effect.  They are under control, so the control is 100% here.  And as much, as stronger they go down, the more they have the effect, so zero would be  the best.  And the red bus means that the construct is significant, so we usually do about five  experiments, more we cannot afford because it's expensive and very laborious, and after  five experiments we do statistics and then we see what stays significant or not.  So the red means it's significant, the blue means it has no effect, not significant.  And you can see here, it's very interesting that to the 4 million years, to the 92% identity,  you still have an effect.  So this silencing works, you knocked out a gene.  But starting from 90% to 50 million years, or to 30%, you have no effect anymore.  You lost it.  It's not working anymore.  Now the question arises by 90%, you still have 59 hits of the from the alignment, so  you have 59 as RNAs which made your target.  So why you don't have an effect anymore?  And this is raised, the suspicion was also what the people know since long time that  not each RNA is efficient.  So you might have as RNAs which are not efficient, and as you can see here, most likely studies  with this 59 you have it, but they are simply not efficient enough.  So when we started to make the software, we used very basic words to estimate which as  RNAs are efficient.  Because people did not know exactly what's going on and what meets these efficiency.  We used stuff like A and 2 at the beginning, and the GC content and temperature.  But in the last few months, we wanted to reimplement the software and to have a better prediction  of the RNA and also to confirm it with our experiments.  So in the last couple of months, many research papers appear which guess a lot this efficiency,  especially in humans, and it turned out that the thermodynamic properties are very important,  also the structure of the RNA.  So things like minimum free energy, self-folding, free ends, or target accessibility.  So we use this, and the first very important thing is the strand selection.  So you have the as RNAs here, and then they are bind to an argon out, and one strand is  a move, if you remember.  So how does this happen?  This happened like zipper.  And this happens if the less stable strand is easily removed and open, and this strand  is taken from the wrist complet, and one strand is removed.  So this goes over the minimum free energy.  If it's larger, so it's less stable, it's removed from this side.  But now you might have the problem that the wrong strand is removed.  So it might be not complementary anymore to your mRNA.  You might have gotten the wrong strand.  So this as RNA is completely useless.  So this we included in our software to remove, to make a strand selection, and to remove  all those RNAs which are not targeted anymore.  So all the calculations we did after, we first run it over this strand selection to work only  after with this which are really hitting the real target.  The second thing which seems to be important, and it's published many articles, this is  the target side accessibility of the target.  So as you can see here, the RNA is, this is the primary structure of the RNA, which is  in the cell, it's not really like this.  You have a lot of folding.  So you can see here you have complementary bindings and bloopings and such stuff.  And this is the secondary structure and this is the, oops, sorry.  And this is actually how it looks in the cell.  This is a very small RNA and you see how much is folded and how much is going on.  So it's not a flat line.  And you can see already here that on some places it's easier to target it than on others.  So if you have, for instance, folding and matching here, here it's very difficult to  access for the RNA because it's already double-stranded.  So these parts of the loop, for instance, might be much easier to access.  And you can calculate these things with two called RNA-PL fold, which we also use over  Python, which calculates the local base probability.  So it takes the RNA and the target, part of the target.  So we do this only on part of the target of the mRNA because it's much easier to calculate  than on these structures.  And it calculates the probability how much, how accessible it is from the RNA to the target.  And you can do this for each base pair, but also for an average.  So you can do this for the one-mayor, the two-mayor, and so on and so forth for the whole mRNA,  to 21-mayor.  And people found that it seems to be reasonable results and also interpretive results if at  least eight base pairs of this RNA can access the target.  So I guess if it's less, if it's like two or three base pairs, the energy might be not  enough to stick the rest of this RNA.  And so people found that it's good to take and to look on the data if there are at least  eight pairs of this RNA matching to the target.  And this is what we did.  So we took our constructs.  So for simplicity, I, so we check for each of these, so one-mayor, two-mayor, and so  on and so forth.  For each constructs of force, simplicity, I will show only the eight-mayor average because  as I said, we found the same that it looks the most reliable if you would eight-mayors.  And you have our constructs here which we are tested.  So you can see here the position of the sequence position.  So you have 500 base pairs of sequence of the target.  And here it's shown the accessibility.  So zero means this site or this position of the target was not accessible.  And one means it was very accessible.  And you can see here, so if you remember, the zero-mayor years and to the four-mayor  years had an effect and the five-mayor years not.  So you can see here that for the zero-mayor years, the one, the two, and the three, and  the four have quite a lot of accessible sites.  So this is the last construct with an effect and it still has quite some accessible sites  where for the five-mayor construct, they completely disappear.  So this fits to our data.  So with this, you can efficiently say how efficient are the siren as you make with this  construct.  If you look more closer to the first construct to the one-mayor zero-mayor years, you actually  can see that you have clusters.  So for instance, from zero to 100 base pairs, you have not so many accessible sites.  From 100 to 200, you have some.  From 200 to 300, you also have some.  And from 300 to 400, you have none or not only very few.  And from 400 to 500, you have quite a lot.  So this brings us to the idea to make five other constructs, which are called, which  we call window constructs.  We only have these 100 base pairs matched to the target.  So you have from one to 100 a match, which makes only the target and the rest is random  sequence.  So it will not match the target.  Then from 100 to 200, 200 to 300, 300 to 400, and 400 to 500.  So we created these constructs and tested in our system.  And the results looks quite interesting.  I have to say that I just stopped to look at the results before I went to the conference.  We just, we are not finished yet with this.  But it looks already quite interesting.  So we got the strongest and most significant effect was 400 and 500 base pair constructs,  which you also corresponds very good to the accessible sites.  So you have a lot.  And we have no effect, no significant effect was 300 to 400, where there are also no accessible  sites.  And for 200 and 100, it's similar.  The only what makes us a little bit more than month is the one to 100 window concept.  But as I said, we still look on the data and it's also, we have to find here threshold  and to define it, because this what was known from the human is, does not fit to the plan.  Okay, then already I want to come to an end.  So we created a software which is called sci-fi, which can be downloaded and run at the moment  on Windows at the moment, I'm making it cross platform with Pico T, I switched the  the GUE framework.  You can have a custom database, you can find the fish in the sirenase and you can recommend  and find miss target genes.  And this is just screenshot how it looks like.  So I think it's very useful.  And I wanted to make this talk just to show that also non-programmers can do quite useful  things with Python and can also, yeah, it's just, it's accept from the community, soon  we will publish an article about it and yeah, I hope you liked it.  How fast is this library?  How much, I have no idea how long such a sequence is.  The database?  Yes, if you have some piece of RNA and want to do something, this is how much data is there?  It's a lot of data.  Is this done in a batch process?  Yes, it's run in a batch process and both I use a database indexing to do this very  fast.  So I'm not, I don't know exactly the details, but it's do it very efficiently.  So one check from the software takes about five seconds, so it's quite fast at the end.  Hello.  So I have two questions actually.  So I'm seeing you using Biopython, right?  Do you use that to do your blasts?  No, so we tried blast at the beginning, but it was performing very bad for short sequences.  So you have a lot of mistakes actually.  So it does not find all the sireness which are actually there.  So if you look on this graph, on the first graph, you can see on the blue line, so this  was just taken to align all this sireness.  This blast you will not have this line.  You have gaps in between.  It cannot find all this sireness and that's why we switched to bow tie.  Biopython I just mentioned here because I use it for some handy tools like converting  the reverse complementing and open files, faster files and such stuff.  So this is not either you're using this not at all because you were saying in the beginning  you're trying to find the off targets as well, right?  That's also part of the software.  Yes, it's also part.  So this we do with bow tie.  So I split in Python the query sequence to 21 miles or whatever lengths you like and  then I take this sequence and use bow tie to find it in my database which is also made  in bow tie.  And bow tie gives me, for instance, the heat which you can see here.  So this is actually, it's good.  This is the target you want to hit.  But you may type off target.  So this also comes.  So this is another gene and you might have here in this region you might have off targets.  So this is done through bow tie.  Okay.  And this is like just maybe I can show.  So this is, you know, if you have a, if you have querying target which are the same and  you split it you will find each of these substrings on the target here.  So you have eight hits.  But if you have a mismatch in between, so an X here, you'll find only three.  You know, it's like this.  And for this we use bow tie.  And just I was wondering whether those target side predictions, they are based on the secondary  structure in some way.  You do this?  Yes.  Okay.  So I just started to work with it.  And we tried to find thresholds.  And maybe also we go for machine learning and stuff like this.  But as I said, I'm not professional programmer.  I need some time to develop all these.  Okay.  Thanks.  You said that you are using bow tie as a short read assembly against probably some short  reads.  But I didn't get, maybe I didn't, maybe I misunderstood it.  Where did the short reads come from?  Yes.  So you can enter your, in the software here, you can paste your query sequence.  This is what we call a query sequence.  And then in Python I just split it.  So I split it to, so here you can choose the size.  No, that wasn't what I meant.  If you wanted to bow tie, you sort of, what are you doing it against, against the barley  genome or some short?  Yes, you can.  So this is a very big advantage of Sci-Fi.  So all the tools which exist online and also for downloading, you cannot use a custom  database.  So they're usually for humans.  So as RNA is usually very often used in humans, everything is adapted for humans.  But this is useless for us.  So we need to check against the barley genome or whatever.  So you can make a custom database and you can check against this.  And this is very important because, you know, the sequencing of the, the barley genome is  ongoing and you might have next week completely different sequence than last week.  So we need to be very flexible here.  Okay.  So the bow tie is used against the published reference genome.  Yes, or your own.  So sometimes you have projects where you, you have confidential data.  So that's why we also don't go online at the moment.  And not, not some kind of short read libraries that you require.  You can do this if you like.  So you can download them and paste them and use it.  But so we wanted to be very flexible at this point because all the other surface are not.  Very interesting.  Thank you.  Thank you.  Thank you.  Thank you.  Thank you.
Stefanie_Luck_-_RISCy_Business__Development_of_a_RNAi_design_and_off-target_prediction_software_0_443.png Stefanie_Luck_-_RISCy_Business__Development_of_a_RNAi_design_and_off-target_prediction_software_444_1547.png Stefanie_Luck_-_RISCy_Business__Development_of_a_RNAi_design_and_off-target_prediction_software_1548_2363.png Stefanie_Luck_-_RISCy_Business__Development_of_a_RNAi_design_and_off-target_prediction_software_2364_2735.png Stefanie_Luck_-_RISCy_Business__Development_of_a_RNAi_design_and_off-target_prediction_software_2736_2915.png Stefanie_Luck_-_RISCy_Business__Development_of_a_RNAi_design_and_off-target_prediction_software_2916_3875.png Stefanie_Luck_-_RISCy_Business__Development_of_a_RNAi_design_and_off-target_prediction_software_3876_5303.png Stefanie_Luck_-_RISCy_Business__Development_of_a_RNAi_design_and_off-target_prediction_software_5304_6563.png Stefanie_Luck_-_RISCy_Business__Development_of_a_RNAi_design_and_off-target_prediction_software_6564_7967.png Stefanie_Luck_-_RISCy_Business__Development_of_a_RNAi_design_and_off-target_prediction_software_7968_8147.png Stefanie_Luck_-_RISCy_Business__Development_of_a_RNAi_design_and_off-target_prediction_software_8148_10775.png Stefanie_Luck_-_RISCy_Business__Development_of_a_RNAi_design_and_off-target_prediction_software_10776_11807.png Stefanie_Luck_-_RISCy_Business__Development_of_a_RNAi_design_and_off-target_prediction_software_11808_12935.png Stefanie_Luck_-_RISCy_Business__Development_of_a_RNAi_design_and_off-target_prediction_software_12936_15287.png Stefanie_Luck_-_RISCy_Business__Development_of_a_RNAi_design_and_off-target_prediction_software_15288_15911.png Stefanie_Luck_-_RISCy_Business__Development_of_a_RNAi_design_and_off-target_prediction_software_15912_17147.png Stefanie_Luck_-_RISCy_Business__Development_of_a_RNAi_design_and_off-target_prediction_software_17148_18731.png Stefanie_Luck_-_RISCy_Business__Development_of_a_RNAi_design_and_off-target_prediction_software_18732_22679.png Stefanie_Luck_-_RISCy_Business__Development_of_a_RNAi_design_and_off-target_prediction_software_22680_27755.png Stefanie_Luck_-_RISCy_Business__Development_of_a_RNAi_design_and_off-target_prediction_software_27756_28127.png Stefanie_Luck_-_RISCy_Business__Development_of_a_RNAi_design_and_off-target_prediction_software_28128_28271.png Stefanie_Luck_-_RISCy_Business__Development_of_a_RNAi_design_and_off-target_prediction_software_28272_28679.png Stefanie_Luck_-_RISCy_Business__Development_of_a_RNAi_design_and_off-target_prediction_software_28680_28919.png Stefanie_Luck_-_RISCy_Business__Development_of_a_RNAi_design_and_off-target_prediction_software_28920_29015.png Stefanie_Luck_-_RISCy_Business__Development_of_a_RNAi_design_and_off-target_prediction_software_29016_36539.png Stefanie_Luck_-_RISCy_Business__Development_of_a_RNAi_design_and_off-target_prediction_software_36540_37235.png Stefanie_Luck_-_RISCy_Business__Development_of_a_RNAi_design_and_off-target_prediction_software_37236_37367.png Stefanie_Luck_-_RISCy_Business__Development_of_a_RNAi_design_and_off-target_prediction_software_37368_37607.png
Okay, let's start. So who we are? So I'm Technician. I'm working since 10 years in a plant research institute which is nearby about 200 kilometers from Berlin. And our focus is to search for genes which are involved in plant-patterging interactions. And we use Bali and Paudimildio as a model system. And here you can see Bali plants, young Bali plants which are infected with Paudimildio, which is a major problem in the field outside, so you have a lot of losses due to this patterging. And we try to find genes which are involved in these interactions by reverse genetics. So how we can do this? So you might know that the genome of higher organisms are very large. So for instance, for Bali, it's almost twice as big as the size of the human genome. And this means you have about 30,000 genes. So how to find genes which are involved in only in plant-patterging interactions? So how you can do this? And we use a tool which is called interference, which was discovered in the 90s. And people thought they wanted to make petunia plants which are light blue. They wanted to make a dark blue. And they thought, okay, we know the DNA gene for the blue color gene. And let's add more of this in the plant, and then we have petunia plants which are dark blue. They did this, and actually what happened was exactly reversed. So they found that the flowers are white, or they have only stripes of blue color. And they sketched ahead and repeated experiments, but it's always turned out to be the same. And it took quite some years to find out that there's a mechanism behind this, which is called RNAi. So how does RNAi work? So if double-stranded RNA enters the cell, which is very unusual. So people think that this mechanism is used to defense against RNAi viruses. So if double-stranded RNA enters the cell, it's recognized by an enzyme called dicer, which you can see here. And the dicer cuts the double-stranded RNA into small pieces, which are about 21 base pair long, which are called small interfering RNA or SI RNAs. Then another enzyme detects these small RNAs, take it, remove one of the strands, which is important for later. So only one of the two strands stays, and builds a so-called risk complex. This risk complex then is attached to the target, which is the mRNA, which is here. And this binding of the risk complex blocks the translation, and you have no protein. So if we go back to our blue color gene, so you have the natural blue color gene in the plant, which is the mRNA. Oops, I lost my... So here you have the natural gene in the plant, and the people added more of the blue color gene here, so the double-stranded RNA. This was recognized by the plant. It was bind to the natural gene and blocked the translation for the blue color. So you have no color anymore. So this is how it works. So with this, you can efficiently silence and knock down genes, and it works very well since many years, so people use it in humans, in worms, in plants, in many species. And we also use it, so we have developed a testing system where we can use this tool. It's very efficient and very cool, I think. So that's why we call it reverse genetics. So if you don't know what to do, you switch off gene by gene and look what's happened. Okay, so people use it, but there are two problems with it. So the first problem is that you might have mis-target of other genes, and the other problem is that not every silencing is efficient. So how we can... Yeah, we wanted to make a software to predict these problems, and also to use this tool for designing good and efficient constructs. So we wanted to make a software which can predict off-targets, which can predict efficiency, and also we wanted to test this software. So we made this software some years ago, but in the last year, we wanted to validate it and to make real experiments and to see whether this prediction is true. And of course, we want to have a nice software which runs on Windows, and everybody can use it and combines all these features. So what is an off-target? So imagine that you have... You want to make a construct, so you want to knock out the gene. So you make... Artificially, you can do this in the lab, you make double-stranded RNA construct, and then you have to check whether you only target your gene you want, and not only another target. So as I said, you have about 30,000 genes in the ballet genome, so the chance that you might hit another target is quite high. So as you can see here, so again, double-stranded RNA split into small RNAs, and then we use a short read-aligner, which is called bowtie over python, and bowtie tried to find all the matches from the small interferonitis against a large database, for instance, the ballet genome or the human genome, whatever. And if you designed a good construct, you should only find heats of your target. But now and then you might have off-target, which is here, which have, of course, much less heats, but they might be efficient enough also to cause science to have an off-target effect. So you might not only heat your gene, which you want, but also other genes, because, for instance, in ballet, it's very common that you have gene families which have the same sequence, so very similar sequence, and it might be that you heat also another gene from the same family, which you don't want, usually. So it's important to predict this and to know it, and maybe to change your construct's design, for instance. So then the question lies how much similarity is required for being an off-target, and we used a theory, a model, which is called a molecular clock, which says that about every one million year in evolution, one nucleotide is changed. So if you have a common ancestor, which has the sequence like this, then after one million year you have usually one base pair exchange. So here, for instance, I have to see, C turns to G, and here NA turns into T, and so on. So after two million years we have another change. And we used this to design our experiment. So we constructed 15 constructs, we made them synthetic constructs, which have, so we used one target, which we know it works, so we worked in ten years on this, and we have very good efficient constructs and targets and tested and everything. So we used our best candidate and made 15 constructs, synthetic constructs, with decreasing matching similarity. So you have the zero million years, so you have no change, so you have 100% identity. And first we did this in smaller steps, so 98%, 96%, so on, to 90%, and then in larger steps. And then we run this over the short retail line of a bow tie, and you expect that the hits you get are much decreasing as well as the identity. So in the best case, 100%, you have 408 hits from the sireness to the target, and it's decreased to zero at the end. So you don't hit any more your target. So we made these constructs and we tested in our system, and unfortunately, I have no time to explain how it works, so you have to trust me. Here you can see all the constructs, and 100% means the construct has no effect. They are under control, so the control is 100% here. And as much, as stronger they go down, the more they have the effect, so zero would be the best. And the red bus means that the construct is significant, so we usually do about five experiments, more we cannot afford because it's expensive and very laborious, and after five experiments we do statistics and then we see what stays significant or not. So the red means it's significant, the blue means it has no effect, not significant. And you can see here, it's very interesting that to the 4 million years, to the 92% identity, you still have an effect. So this silencing works, you knocked out a gene. But starting from 90% to 50 million years, or to 30%, you have no effect anymore. You lost it. It's not working anymore. Now the question arises by 90%, you still have 59 hits of the from the alignment, so you have 59 as RNAs which made your target. So why you don't have an effect anymore? And this is raised, the suspicion was also what the people know since long time that not each RNA is efficient. So you might have as RNAs which are not efficient, and as you can see here, most likely studies with this 59 you have it, but they are simply not efficient enough. So when we started to make the software, we used very basic words to estimate which as RNAs are efficient. Because people did not know exactly what's going on and what meets these efficiency. We used stuff like A and 2 at the beginning, and the GC content and temperature. But in the last few months, we wanted to reimplement the software and to have a better prediction of the RNA and also to confirm it with our experiments. So in the last couple of months, many research papers appear which guess a lot this efficiency, especially in humans, and it turned out that the thermodynamic properties are very important, also the structure of the RNA. So things like minimum free energy, self-folding, free ends, or target accessibility. So we use this, and the first very important thing is the strand selection. So you have the as RNAs here, and then they are bind to an argon out, and one strand is a move, if you remember. So how does this happen? This happened like zipper. And this happens if the less stable strand is easily removed and open, and this strand is taken from the wrist complet, and one strand is removed. So this goes over the minimum free energy. If it's larger, so it's less stable, it's removed from this side. But now you might have the problem that the wrong strand is removed. So it might be not complementary anymore to your mRNA. You might have gotten the wrong strand. So this as RNA is completely useless. So this we included in our software to remove, to make a strand selection, and to remove all those RNAs which are not targeted anymore. So all the calculations we did after, we first run it over this strand selection to work only after with this which are really hitting the real target. The second thing which seems to be important, and it's published many articles, this is the target side accessibility of the target. So as you can see here, the RNA is, this is the primary structure of the RNA, which is in the cell, it's not really like this. You have a lot of folding. So you can see here you have complementary bindings and bloopings and such stuff. And this is the secondary structure and this is the, oops, sorry. And this is actually how it looks in the cell. This is a very small RNA and you see how much is folded and how much is going on. So it's not a flat line. And you can see already here that on some places it's easier to target it than on others. So if you have, for instance, folding and matching here, here it's very difficult to access for the RNA because it's already double-stranded. So these parts of the loop, for instance, might be much easier to access. And you can calculate these things with two called RNA-PL fold, which we also use over Python, which calculates the local base probability. So it takes the RNA and the target, part of the target. So we do this only on part of the target of the mRNA because it's much easier to calculate than on these structures. And it calculates the probability how much, how accessible it is from the RNA to the target. And you can do this for each base pair, but also for an average. So you can do this for the one-mayor, the two-mayor, and so on and so forth for the whole mRNA, to 21-mayor. And people found that it seems to be reasonable results and also interpretive results if at least eight base pairs of this RNA can access the target. So I guess if it's less, if it's like two or three base pairs, the energy might be not enough to stick the rest of this RNA. And so people found that it's good to take and to look on the data if there are at least eight pairs of this RNA matching to the target. And this is what we did. So we took our constructs. So for simplicity, I, so we check for each of these, so one-mayor, two-mayor, and so on and so forth. For each constructs of force, simplicity, I will show only the eight-mayor average because as I said, we found the same that it looks the most reliable if you would eight-mayors. And you have our constructs here which we are tested. So you can see here the position of the sequence position. So you have 500 base pairs of sequence of the target. And here it's shown the accessibility. So zero means this site or this position of the target was not accessible. And one means it was very accessible. And you can see here, so if you remember, the zero-mayor years and to the four-mayor years had an effect and the five-mayor years not. So you can see here that for the zero-mayor years, the one, the two, and the three, and the four have quite a lot of accessible sites. So this is the last construct with an effect and it still has quite some accessible sites where for the five-mayor construct, they completely disappear. So this fits to our data. So with this, you can efficiently say how efficient are the siren as you make with this construct. If you look more closer to the first construct to the one-mayor zero-mayor years, you actually can see that you have clusters. So for instance, from zero to 100 base pairs, you have not so many accessible sites. From 100 to 200, you have some. From 200 to 300, you also have some. And from 300 to 400, you have none or not only very few. And from 400 to 500, you have quite a lot. So this brings us to the idea to make five other constructs, which are called, which we call window constructs. We only have these 100 base pairs matched to the target. So you have from one to 100 a match, which makes only the target and the rest is random sequence. So it will not match the target. Then from 100 to 200, 200 to 300, 300 to 400, and 400 to 500. So we created these constructs and tested in our system. And the results looks quite interesting. I have to say that I just stopped to look at the results before I went to the conference. We just, we are not finished yet with this. But it looks already quite interesting. So we got the strongest and most significant effect was 400 and 500 base pair constructs, which you also corresponds very good to the accessible sites. So you have a lot. And we have no effect, no significant effect was 300 to 400, where there are also no accessible sites. And for 200 and 100, it's similar. The only what makes us a little bit more than month is the one to 100 window concept. But as I said, we still look on the data and it's also, we have to find here threshold and to define it, because this what was known from the human is, does not fit to the plan. Okay, then already I want to come to an end. So we created a software which is called sci-fi, which can be downloaded and run at the moment on Windows at the moment, I'm making it cross platform with Pico T, I switched the the GUE framework. You can have a custom database, you can find the fish in the sirenase and you can recommend and find miss target genes. And this is just screenshot how it looks like. So I think it's very useful. And I wanted to make this talk just to show that also non-programmers can do quite useful things with Python and can also, yeah, it's just, it's accept from the community, soon we will publish an article about it and yeah, I hope you liked it. How fast is this library? How much, I have no idea how long such a sequence is. The database? Yes, if you have some piece of RNA and want to do something, this is how much data is there? It's a lot of data. Is this done in a batch process? Yes, it's run in a batch process and both I use a database indexing to do this very fast. So I'm not, I don't know exactly the details, but it's do it very efficiently. So one check from the software takes about five seconds, so it's quite fast at the end. Hello. So I have two questions actually. So I'm seeing you using Biopython, right? Do you use that to do your blasts? No, so we tried blast at the beginning, but it was performing very bad for short sequences. So you have a lot of mistakes actually. So it does not find all the sireness which are actually there. So if you look on this graph, on the first graph, you can see on the blue line, so this was just taken to align all this sireness. This blast you will not have this line. You have gaps in between. It cannot find all this sireness and that's why we switched to bow tie. Biopython I just mentioned here because I use it for some handy tools like converting the reverse complementing and open files, faster files and such stuff. So this is not either you're using this not at all because you were saying in the beginning you're trying to find the off targets as well, right? That's also part of the software. Yes, it's also part. So this we do with bow tie. So I split in Python the query sequence to 21 miles or whatever lengths you like and then I take this sequence and use bow tie to find it in my database which is also made in bow tie. And bow tie gives me, for instance, the heat which you can see here. So this is actually, it's good. This is the target you want to hit. But you may type off target. So this also comes. So this is another gene and you might have here in this region you might have off targets. So this is done through bow tie. Okay. And this is like just maybe I can show. So this is, you know, if you have a, if you have querying target which are the same and you split it you will find each of these substrings on the target here. So you have eight hits. But if you have a mismatch in between, so an X here, you'll find only three. You know, it's like this. And for this we use bow tie. And just I was wondering whether those target side predictions, they are based on the secondary structure in some way. You do this? Yes. Okay. So I just started to work with it. And we tried to find thresholds. And maybe also we go for machine learning and stuff like this. But as I said, I'm not professional programmer. I need some time to develop all these. Okay. Thanks. You said that you are using bow tie as a short read assembly against probably some short reads. But I didn't get, maybe I didn't, maybe I misunderstood it. Where did the short reads come from? Yes. So you can enter your, in the software here, you can paste your query sequence. This is what we call a query sequence. And then in Python I just split it. So I split it to, so here you can choose the size. No, that wasn't what I meant. If you wanted to bow tie, you sort of, what are you doing it against, against the barley genome or some short? Yes, you can. So this is a very big advantage of Sci-Fi. So all the tools which exist online and also for downloading, you cannot use a custom database. So they're usually for humans. So as RNA is usually very often used in humans, everything is adapted for humans. But this is useless for us. So we need to check against the barley genome or whatever. So you can make a custom database and you can check against this. And this is very important because, you know, the sequencing of the, the barley genome is ongoing and you might have next week completely different sequence than last week. So we need to be very flexible here. Okay. So the bow tie is used against the published reference genome. Yes, or your own. So sometimes you have projects where you, you have confidential data. So that's why we also don't go online at the moment. And not, not some kind of short read libraries that you require. You can do this if you like. So you can download them and paste them and use it. But so we wanted to be very flexible at this point because all the other surface are not. Very interesting. Thank you. Thank you. Thank you. Thank you. Thank you.
search for genes which are involved in a tool which is called interference, which was wanted to make petunia plants which are light have the natural gene in the plant, and the the plant. It was bind to the natural gene and use it, so we have developed a testing system change. And we used this to design our reimplement the software and to have a better prediction of the RNA and also to confirm it with cross platform with Pico T, I switched the the it's very useful. And I wanted to make this talk just to show that also non-programmers can do