 Hello everyone, and welcome to the next edition of the BioXL webinar series. My name is Rossin Apostolouf, and I will be today's host. Today we will look at one new take on the formats for the description of molecules and their interaction, which is the Smirnov format, developed by the Open Force Field Initiative. And it will be my pleasure to have Kaitlin Ballon from the University of California at Irvine to tell us more about it. For those of you that are not familiar with BioXL, I'd like to give a very short overview of our center. BioXL is a center of excellence for computational biomolecular research. It's a European distributed infrastructure, and we work in three main directions. We work on, first of all, the development and improvement of several important applications for biomolecular modeling and simulations. These are Gromachs, many of you probably know. For end simulations, we work also with Hado, which is used for integrative modeling and docking, and also with CPMD, where we develop new interfaces for coupling QMM codes. In addition to the software, we also work with several popular workflow platforms, where we use them to develop efficient workflow packages that greatly improve the productivity of researchers, coupling some of the simulation stages with additional tools, pulling data from different databases and providing these standalone packages. Last but not least, BioXL is promoting the best practices in the field on how to use the codes, what are the best setups specifically for high performance computing, and we do this by training end users from both academia and industry. And we work with the wider community by several interest groups on some sub-domains of the areas such as free energy calculations, hybrid methods for biomolecular systems, etc. I will encourage you to join these interest groups that are of interest for you, and visit our support platforms, such as the forums at ask.bioxl.eu. We have also an open chat channel and visit our video channel, where we have already over 30 recordings of webinars on different topics. So, I'd like to present our today's speaker. This is Kaitlin C. Bunn from the University of California, Irvine. Kaitlin graduated the University of Washington doing synthesis of metal complexes. Later, she decided to draw experimental work and focus on computational modeling and simulation, and she is now doing her PhD in the group of Professor David Mulberry, the University of California at Irvine. She is also a software failure of MOL-SSI, and she's always excited to work on open source software specifically for force field parameterization, which is the topic of today's talk. So, I'd like to welcome Kaitlin, and I will let her continue with the main talk. Thank you for that introduction, Rosen. As you said, my name is Kaitlin Bannon. I'm a graduate student at UC Irvine with David Mulberry, but I'm also a part of the Open Force Field Initiative, which is a growing academic and industry collaboration, a number of people, some of which are authors on this presentation. So, today I want to talk about my work with the Open Force Field Initiative, including the introduction of our new force field format, which we've called Smirnoff, and specifically my work on chemical perception. I'll go into detail on those. So, just as a brief overview, I'm going to give some background on the Open Force Field Initiative and our motivation for this new format, and then I'll talk about my work on data-driven chemical perception, and then an overview of a couple of other projects that are happening in the initiative. So, as many of us know, being able to model complex biological and chemical systems, such as using molecular dynamics or Monte Carlo simulations, depends heavily on force fields, or being able to understand the energetics of a given system. So, force fields give the energy of a system based on, in our case, atomistic positions. So, we have non-bounding interactions, such as Leonard Jones or electrostatic interactions, bonding interactions, such as bonds modeled as harmonic potentials. And the way that we think about force fields is that it can be broken down into two pieces. So, for example, if I want to assign a parameter, such as a torsion to this molecule, we need a piece that we're calling chemical perception, or the way that the force field sees that this bond is a single bond between two carbon atoms and then a quantitative parameter. So, in this case, that would be a low energy barrier for the rotation around that bond. So, traditional force fields tend to require a lot of human effort. So, we start with a functional form or those potential equations that I showed in the last slide, and reference data, which can be experimental or quantum mechanical, which is given to what I like to call an army of graduate students in postdocs and requires just a little bit of chemical magic. And after all of that work into human time, we get out a single set of parameters that when you evaluate them, if you decide you need to make changes, you need to give some of that reference data back to those graduate students in postdocs. So, in the open force field initiative, we would like to make this process a bit more efficient, replacing all of that human time with an open source piece of software that will do all of this parameterization for us, giving us an ensemble of possible parameters, which after evaluating, if you wanted to change something, you could just feed more data into our software. This will allow for things that have been historically quite impossible with force fields, such as comparing functional forms. So, for example, right now, if we have two different force fields that different people have created, not only could they have different functional forms, but they're also frequently trained with different types of experimental or quantum mechanical data, and they're created by different humans. So, you're not only testing the functional form, but you're also testing the data and the people who made it, which doesn't really allow us to isolate the problem of which functional form is better for a potential problem. So, with our software, we could imagine saying, I want to test functional form A and functional form B, but use the exact same input data and use our software for parameterization, which would give us two different sets of parameters, which then we could evaluate results from simulations with and actually be able to make assertions about which functional form is better for that particular type of simulation. Another, the literature is littered with problems with force fields. It's typically something that we theorize could be the problem with our simulations, but without a solid way of testing it, without a solid way of testing our force fields in the past, it's just sort of been a theory that they're a potential problem. One thing that we see as a particular issue with traditional force fields is atom types, which is the structure that we use to assign parameters to a molecule. They rely heavily on human intuition for assignment and lead to significant redundancy in parameters in the force field itself. So, I'm going to walk through how atom types are traditionally assigned in the next few slides and then give some examples on how we think we can fix some of these problems with our new format. So, let's take just as a small example, imagine a world where I just want to assign two atom types. So, I have an aromatic carbon and a tetrahedral carbon and we assign those atom types to the molecule. Now, in a traditional force field, that's the only information we would use, just atom types and the way that they're connected in order to assign parameters. So, then those parameters would be assigned to those molecules. For example, the torsions around the aromatic bonds would have higher barriers for rotation and the torsions on the single bonds would have lower barriers for rotation. So, if we take just a simple expansion of that initial molecule and just keep those two atom types, we're going to assign them to the molecule, we lose all bond order information. And you'll notice that we have, now we have a CACA bond, which would be parametrized as an aromatic bond, but it's on that single bond between the biphenyl, which should be parametrized as a single bond. So, in the traditional way of parametrizing force fields, what would need to happen is our chemistry wizard comes in and says, it's okay, we can fix these problems by creating new atom types. So, we'd create a new atom type that you could call CP. And CP has all of the same parameters as CA, except for when it's connected to another CP, it's represented as a single bond. So, we can take this a step further as we add more, as we add more phenyl rings to our system. And we'll see that when we lose our bonding information, we now have this CP-CP bond, which is an aromatic bond being assigned single bond parameters. And again, our chemistry wizard can come in and say, well, it's okay, we'll make a new atom type. So, we make a new atom type, this CQ is exactly identical to CP, which was perfectly identical to CA in almost all circumstances, other than those torsions, so that now we can get single bond rotations when we're supposed to on this molecule and aromatic bond parameters when we're supposed to. However, we can see that this list of parameters is just getting longer and longer. And every time we add these atom types, we also have to add angle and bond and non-bond parameters to our force field. All I've shown is a simple example with aromatic carbons and hydrocarbon, in a hydrocarbon system. So we can imagine that as we wanna set up a general force field for small molecules, this problem's only going to extend. Okay. And we have some concrete examples of where this type of assignment causes problems in traditional force fields. So, GAF and GAF2 do a misassignment of atom types along this center aromatic system, causing the middle ring to buckle because it's assigned the incorrect torsions on that center ring. Something that we're looking for in the open force field initiative was can we come up with a better way of representing this chemistry? So can instead of needing to use atom types, can we instead have a system that sees that aromatic bond, knows it's an aromatic bond and assigns parameters accordingly, regardless of the atom types that were needed for such things as Lener-Jones or other parameters? Can we just look at the torsions? And same thing along that single bond, regardless of the context. So the first thing we needed was a language that would allow our computers to know chemical fragments. So luckily, that already exists in the form of smirks or smart strings created by daylight quite a while ago. So this language is used to describe chemical fragments in a way similar to smile strings, which we might be more familiar with, by describing atoms connected by bonds but allows you to use more specific decorators than what you can on a smile string. They can also be very, very generic. So this pattern at the bottom with the stars and the swivel is for any two atoms connected to each other. Absolutely any bond would match that. They can become more similar to smile strings. We could have carbon atoms connected by what's an aromatic bond there, but it also allows us to use the combination of Boolean operators so we can describe more flexible chemical systems. So in this case, it would be a carbon or a nitrogen connected by that's a single bond in a ring. Now, these get much, much more complicated from a human perspective reading them, but they do allow a computer to parse molecules and find these fragments, which means that instead of relying on atom types and just connectivity to assign parameters, we could keep the entire identity of our molecule, including bond order, any other information you want to store. And then assign parameters based on a direct chemical perception. That is our smarts pattern matches a single bond and so a low barrier of rotation is assigned or our smarts pattern matches in aromatic bond and a high barrier of rotation is assigned. So we've done this, we've created a format that we're calling Smirks native open force field or Smirnoff, which just refers to the format for this force field. So in this example, I have a complete Smirnoff force field which assigns parameters to a methanol molecule. So we can see that each individual type of force, we have bonds at the top and then angles, torsions and non-bonding parameters have completely separate chemical perception. So you can assign the bonds using a given Smirks pattern which then matches a bond and the parameter is assigned to that bond. And since they're completely decoupled from each other, if you wanted to try adding a new parameter to say add a new torsion to your system, you wouldn't necessarily need to refit absolutely everything or propagate a new atom type into your angles and bonds. Just refit the things that are necessary. So remember, we talked about redundancy when it came to atom types in traditional force fields. So this is the list of carbon non-bonding parameters in GAF2. So there's 16 atom types for carbon in GAF2, which means that there are 32 parameters that technically would need to be fit. As we can see, most of these, for example, in the black are probably just copied and pasted because they knew when they were making the new atom type that they weren't necessarily creating something that needed a new parameter. However, if you were going to rigorously test that, you would need to fit it and make sure that it really didn't need a new Leonard Jones parameter. In the Smirnoff format, we can represent this with just three separate Smirks patterns representing that would match onto single atoms, which means we only have six parameters that we would need to fit, and that wouldn't be affected if we needed to add parameters to other sections. That would be it as far as our Leonard Jones scale. Okay. So we have a version of this Smirnoff force field that we created not by refitting anything just by moving parameters from an amber force field into this format, but it is able to be used if you're interested in trying it out. So we have some tools from the open force field group that integrate with OpenMM, which is an open source molecular dynamics, molecular simulation software. So you can directly use OpenMM with our force field. And then thanks to other open source tools such as Parmett and Intermole, if you would rather run simulations in other molecular simulation software, you can output parameter files for amber, gromax, charm, et cetera, with our parameters. And as with everything in the open force field initiative, all of our work is on GitHub and accessible to the public from early on. Okay. So we verified that our format was working mostly by comparing simulation results with GAF. So on this slide, I'm showing how we calculated density with GAF and then with Smirnoff and compared to experimental values taken from thermo ML. We see that generally speaking, the shape on those curves is very similar. There is one particular outlier that I'll go ahead and point out these points represent densities of water at various temperatures, but we're accidentally parameterized as flexible water with GAF or Smirnoff, which is not how we would typically model water. So we're not as concerned about those outliers where the rest of the data mostly falls in line with GAF, which is a promising first step. We also calculated hydration free energies for the free solve database, which is a database of 600, some small molecules and their hydration free energies that's also available from the Mobley lab. So on this plot, we're showing GAF predicted hydration free energies on the x-axis and Smirnoff predicted hydration free energies on the y-axis. So our parameters weren't taken from GAF, so we don't necessarily expect this to be a perfect agreement, but we think that even how closely they agree, it's a promising first step that the Smirnoff format is working and that we have a reliable small molecule force field to begin with. So we also have a preprint available about the Smirnoff format and some of the open force field work that's listed there if you wanna look at more details later. Oh, I am sorry, everyone. I thought I had turned all those things off. Okay, so then going back to that concrete example, I showed you with GAF, with the internal ring buckling doing a single molecule minimization with Smirnoff gives us the center ring in the position it's supposed to be in where the middle aromatic ring is indeed flat. So just further promise that by decoupling these different parameters, we can in fact get better behavior on the confirmation side. Okay, unfortunately with the current Smirnoff force field that's available for use, the Smirx patterns in this force field were written by hand or by the chemistry wizard. But if we're going to automate this process, if we wanna be able to just feed our data into a piece of software, we need those Smirx patterns to not be written by hand but to be designed by the computer. So the thought process on this is we would like a piece of software to be able to do the same things that our chemistry wizard would do. So it needs to know how to create new Smirx patterns. It needs to be able to make some kind of comparable choice with reference data. And it needs to be able to identify when a new Smirx pattern is necessary. So we don't wanna prop, we don't just wanna add a new parameter for every single molecule we give it if we want a general small molecule force field. So as a starting point for this, the question we asked is can an automated method learn the chemical perception from in an existing force field? So instead of using reference experimental or quantum data, we're going to use an existing force field as our reference data and say can we make an automated method that comes up with the same types of chemistry? So we did this using a series of moves that allow us to create new Smirx patterns. So if you start with an initial list of Smirx patterns, say a guess on the number of bond parameters that you need, you can either remove a parameter from that list or add a parameter to that list that we're calling a child because it's based on one of the parameters currently in the list. When you're doing that, you could change an atom or a bond within that Smirx pattern. And then if it's an atom, you could add a neighbor, you could remove the atom if it's not a key piece of the parameter or you could change those decorators, say connectivity on an atom or order if it's on a bond. So just to walk through an example of this, let's imagine that I wanted to start with an initial list of parameters where all of my carbon-carbon atoms are assigned the same, sorry, all of my bonds between two carbon atoms are assigned the same parameter. So in this case, that's any bond between two carbon. So since there's only one item in my list, I can't delete that parameter or the list would be empty. So if we're going to create a child parameter, we could imagine that we're going to change the bond, so the bond between those two atoms. We could say, let's try switching that any bond to an aromatic bond. So instead of replacing that Smirx pattern in the list, a new one gets added. So now instead of having one parameter, we have two parameters in our list. So the next step is we need to evaluate if that change was a good change. So we're going to score that list of parameters based on a reference force field. So let's say in our reference force field, we had all four types of carbon-carbon bonds based on bond order. So you have single, double, triple or aromatic. So what we do is we connect all of the matches. So if we assign from the current list and the reference list, so when we're assigning parameters, we do it in a hierarchical order. So the carbon-carbon, any bond would match all of your carbon-carbon bonds, but then the aromatic bonds that comes below it would overwrite that. So then all of the aromatic bonds would be assigned to that parameter, that second parameter with the aromatic bond. So we match all of, but all of the single, double and triple bonds from your reference force field would have been assigned to this any bond parameter. So then the next step is we count all of the matches. So you have, if we had eight single bonds, two double bonds, one triple bond and 12 aromatic, that's all that's happening. But if we're going to score based on a current force field, we don't want to have multiple reference types matching just one single reference type. So we're gonna say that one and two don't get to count as matches because we want to find the same chemical distinction that happened in our reference force field. So we could count this and say we have a score of 20 out of the 23 possible carbon-carbon bonds in our system. So as a way of generating these new smirks patterns, we then go through a Monte Carlo type simulation where after each new change is made to our list of smirks patterns, we evaluate the score that I just described using a Monte Carlo type acceptance ratio. So if the score goes up, we would always accept that move. And if the score goes down, there's still a probability of accepting it, the same as in other Monte Carlo algorithms. So we tested this on a variety of molecules, a molecule set. So I'm gonna show you one for non-bonding parameters in a set that had just carbon, hydrogen and oxygen atoms using only aromatic or single bonds. So if we set the temperature at zero, that essentially ends up acting as an optimizer. So only moves that cause an increase in score are accepted. If we set the temperature too high and we end up accepting basically almost every move that's random, which isn't really ideal either. So similar to other Monte Carlo algorithms, if you find a temperature or a randomness level that's good in the middle where some moves can be accepted or rejected, you will eventually find an optimal space. So we showed that an automatic way of generating smirks patterns could find some of the chemical complexity in reference force fields. But the other thing we found was that as we increased the chemical complexity of our molecule set in our test set, we saw a significant decrease in the maximum total scores. Wasn't quite ideal. So one of the things that we wanted to diagnose here was what's causing us to not get there. And it turns out that when you're considering these very large, when you're considering these very large parameters such as torsions that require four atoms and potentially decorators on every single one of them, you end up with a very large combinatorial problem when you're making these moves completely randomly. So we'll take, for example, this torsion I have shown on the screen and I wanted to calculate the potential number of moves that it would take in our current algorithm to find that specific torsion. So there are two steps that happen when you're building a new, when you're making a new parameter. So the first is we need to pick the right parent from this smirks list that is from our current list, which pattern are we going to use to make a change on? We have the probability of picking that right item from the list. And then we also need to pick the right decorator to change. So in this case, there are, for example, you could need to add that X3 that's on the carbon. So if we consider those probabilities, it could take us up to around one billion moves to make this individual smirks pattern. So this algorithm as is, while it did work for relatively small molecule sets, really wasn't practical in a real chemical space. So my next step was, can we make this more efficient by taking advantage of the things we already know about our molecules that we're training on? So can we learn from these mistakes and create a more efficient move set? And the other thought process was, if we already know the groups of, say, bonds that we want to assign parameters to, can we start with that separation? So instead of having to add new parameters, can we start with the number that we need? So for example, I've highlighted this aromatic bond, we could pull out all of the possible smirks decorators. This is still just a subset for each of these atoms and bonds using already existing software from packages such as Open-Eye Toolkits or RD Kit that allow us to access the connectivity number of hydrogens on a given atom in a molecule. So I'm gonna show an example of how we might do this given some data so that we could actually train on experimental data instead of, or quantum mechanical data, instead of just a reference force field. So this is a very toy example, I'm not necessarily saying we should fit parameters in a force field using only their minimum bond angles. But just as an example of how we could use some actual data, let's say I took a set of molecules that had single, double and aromatic bonds, did a QM minimization and then calculated the bond angles around every carbon atom. So for our purposes, we're just going to assume that there are two different clusters here that we could divide this distribution into two different Gaussians. So we'll call that cluster one and cluster two. And for the purposes of these slides, I did that by hand, but there are lots of clustering algorithms out there that already exist in OpenSource software. And also we have some graduate students who are looking into using more Bayesian-like techniques to split Gaussians in a way that's more data-driven so that we can determine how many of those clusters you actually need. So then the first step after we have our clusters would be to identify the individual angles. So I don't have a full list here, but for example, we have basically angles around those tetrahedral carbons, which we know are larger and angles around the, or sorry, are smaller, around 109 and then angles around those SP2 carbons, which would be larger. So then step two is let's pull out all of the possible decorators on all of those atoms. So these are not smarx patterns that any human is trying to read. They're also very, very, very specific. So in this case, they would probably only match molecules that are exactly the same as our training set or very, very similar. So if we want a general force field that can be used on general small molecules, we need to reduce these smarx patterns so they're not quite so specific to our training molecules. So the way that I'm going about that is by saying, can we compare decorators in both of these clusters? So consider things that they have in common and things that are different and then remove unnecessary decorators while maintaining that clustering so that atoms, so that angles that are supposed to assign to the parameter in cluster one always get assigned to that parameter. So we can reduce these down in this case is entirely just based on the type of carbon in the center. So the next few slides, I have just a brief overview of a couple of other things happening in the initiative. It is a really big collaboration so this is certainly not everything. So one example is that if we're fitting force fields, we're going to need access to in a way to store quantum mechanical data. So Molesi is already working on building an open source kind of database where people could store quantum mechanical calculations trying to reduce the amount of computer time that we're spending recalculating similar things. A graduate student who's a part of the initiative and is also a Molesi fellow is working on fragmenting molecules and calculating torsion, doing torsion fitting and that data will interact with this database so that we have access to anything that she's calculated or that other people who have contributed to the database have calculated. We're also working with a postdoc who's at NIST and John Kudera's group who has a Python tool that allows us to query their database called thermo ML which is a still extending database with a number of different physical quantities for many different molecules. It's a part of a, for a few different chemical engineering journals when people contribute to those journals they're required to submit their data to this database. So it's still ongoing even though it has things like density at different temperatures that we sort of think of in the chemistry world as being measured less frequently. I'm also mentoring an undergrad who's working on comparing different force fields using small molecule minimizations. So the theory on this project is that if you minimize different molecules using different force fields and they come to a similar compromise then we can sort of assume that's a chemical space that we all sort of agree on is probably fairly well parametrized. But on molecules such as the ones shown on this slide where we get significantly different compromise from different force fields we're sort of making the assumption that this is chemical space that's either not very well understood or not very well parametrized or maybe it's problems with atom types but whatever it is there's something wrong with the current force fields because if they were getting the right structure they would agree. So we're using that as a way of identifying molecules that we might wanna use to fit force fields in the future. So just as a quick overview I've shown you some of the quantum mechanical and experimental data that the initiative is collecting and how we're going to identify molecules that we would need to use for fitting. I've also shown an example of how we might use data to drive not just the parametrization of a force field but in the quantitative parameters but also in determining the chemical perception or in the case of Smirnoff the Smirnoff patterns which we could use to improve our new Smirnoff force field which uses the Smirnoff patterns to assign parameters to molecules using that direct chemical perception. And if we're able to create these pieces of software in order to parametrize these force fields we'll improve the force fields which will in turn improve all of the calculations that depend on them. So I'd like to take a second to thank especially the open force field initiative it's been a wonderful collaboration to be working with all of these great people. That's a picture from our first in-person workshop last January. I have our links on the bottom if people are interested in finding us. As Rosen said at the beginning I'm a Molesi fellow so that's where most of my funding comes from but some of the work I showed here was also funded directly from NSF and NIH. And then thank you again to Rosen and BioXL for inviting me to give this talk today. Okay. Thank you Kaitlin. This was a very interesting talk and it's a great initiative to improve on the state of the art in force field formats and standards. So to everybody listening to us now we are opening the questions and answer session. Please use the questions tab to the right in the go-to webinar control panel just type the question there. And we have already a question from Stefan and we'll see if we have audio connection. Stefan can we hear each other? Maybe not. Okay. So Stefan is asking whether the gaffe that you were talking about is the original gaffe or is it the f2? Oh yes, I'm sorry. There was a little bit of confusion on that. So the torsions on that aromatic compound that I showed on this one that happens with gaffe and gaffe2. They haven't fixed it. This list of atom types we took out of gaffe2 but the hydration pre-energy and density comparison was with gaffe because that was values that our initiative already had calculated in previous papers. So we didn't want to recalculate things just for comparing a new format. Sorry for that confusion. Thanks Delos to clarify. Also, so how do you see Smirnov in the long term? Do you think it's going to be a substitute for any of the other force fields? And how do you see it playing with the concept with the other more established ones? Yeah. Is there a lot of extra capabilities and make things easier in some sense? Right, so our hope is that if we're able, right now it basically should give you kind of similar results to gaffe or other amber force fields since that's where the parameters came from. But the hope is that if we're able to automate either parameterizing entirely new force fields or systematically improving the one we have that you'll be able to see step-by-step improvement if we're just improving the one we have but also that ability to sort of test different functional forms and choices. So I think, assuming that all of those things work as easily as well as we're hoping they will, I think it could replace some of these traditional force fields in the long term. Obviously it's not happening tomorrow. Sure, of course. So, we have another question from Dennis. Let's see if we can get out your connection. Hi, Dennis, can you hear us? Hello, Dennis here. Can you hear me? Yes, yes. So if I understood you right, you said that the current Smirnov parameters have all been derived from an amber force field. Is that correct? Yes. And a gap is a general amber force field. So to have the correlation there is sort of expected, I'd say. So what are actually the types of parameters that you were able to extract from the amber? Is it everything that's in there or is it just a subset? You talked about the Dana-Jones parameters. Are you really coping with the entire complexity of the force field or is it just a subset? Yes, so I actually, I don't have a slide on this, but so we copied, we didn't actually take parameters directly from GAF. So we're working with Chris Bailey who parameterized Parmafrost, which is sort of a sibling force field to GAF. He created it while he was at Merck at the Frost site. So the parameters in Smirnov are taken from Parm 99 and Parmafrost with the Parmafrost extension. And it's, so it's mostly a direct port where we took, so we have all of the parameters from that force field, but in a sort of condensed way, so that example where I showed with the non-bonding parameters where we sort of grouped things that were assigned a similar parameter, we did the same thing on angles, torsions, et cetera. So we did a sort of just what can we parameterize comparison and we cover actually, as far as what you could run a simulation with, we cover more chemical space than GAF because we're not limited by, do we have a parameter for this atom type connected to another atom type? As long as there's a parameter that matches the chemistry. So we get either the same or more coverage than GAF on all of the molecule sets that we've tested. And we've tried to parameterize, which included all of e-molecules and drug bank and the zinc database. So at this point, you more or less verify the functional form, but you would think that if you would get better parameters, you might outperform the MFORCE fields. Yes, that is our current theory is that if we can get similar performance with the same parameters, we should be able to do better if we can actually re-parameterize. Great, thank you. Okay. Thanks. I was also wondering right now, if somebody wants to edit to fine tune the parameters, he can replicate the XML file. Do you have any visual viewer or editor at the moment? So I'm not sure that we have anything that's visual, but we do have API points that access parameters. You don't necessarily have to be able to read the XML format. You can use our open force field software to identify parameters that you want to change and then change them using the Python. We also have some utility functions that currently all just rely on open eye toolkits to visualize those parameters. So if you want to say, identify the torsions in this molecule set that are assigned parameter A, you can visualize where those torsions get assigned. So you could combine those if you wanted to change a parameter pretty easily. I think we have some examples of both changing them and visualizing in that GitHub repository. Thanks. Yeah. So we don't have other questions here in the list. Maybe I could ask one more if there's no one else waiting right now. With regard to the smirks optimizations of Monte Carlo, so I didn't quite understand what is your starting position? You must from somewhere feed the computer with, is it a drawing or where do you start before you have the initial guess? So on that initial guess, we take just a given, we pick kind of a list of smirks patterns as the start. So when we were testing it on, so this was data on non-bonding interactions. I gave it just element number, so it needed to be able to find any other complexity. And then on bonds and angles and torsions, we did element number on the center bond. So on angles it was element number on the center atom and torsions are element number on the center bond. With the theory that sort of like, there's some amount of chemical intuition that we shouldn't just completely throw out, but even with that as the starting point. So like that with the carbon and nitrogen specified was the starting point on that particular example. Really in reality, I think this was like something that maybe if 2020 hindsight, this is obviously a very large combinatorial space and just making completely naive moves was maybe not, we should have maybe known how much space we were needing to sample and that maybe there was more efficient moves to make. But yeah, so it requires input, user input though, to specify that initial space. So if I would wanna use Smirno for example on a substrate that I create in a PDB format, would I be able to load this into this Monte Carlo optimization tool and it would spit out a string or is there a lot of manual work previously required? So that particular Monte Carlo tool would not do well. I didn't have the name listed on this slide. I should have put it up there. The tool that I described in the second part where we're talking about extracting parameters could do that for you. If you know right now it wants atom indices and it'll give you Smirx patterns. If you know the atom indices you want the parameters assigned to. So it's a separate, isolated as separate tools, but we do have a way of doing that. Okay, we have another question from Venkata. Yes. I'm afraid we can't hear you. So I will read the question on your behalf. Thank you. We expect the open force field version one will be the RB kit implementation available for use. Hopefully any day now. I am aware that people who've been following this project have been hearing that for a number of months. It's not something that I'm individually working on. So I can't say 100% but there is a lot of work like that has been happening in the last couple of weeks to finalize RB kit being available. So it really should that that couple of days we've been hearing for almost a year is real right now. We are, I didn't mention this either. So our initiative is pharma funded and that funding didn't come in until this week. So we, or last week rather, it's Wednesday. So up until that point we had a couple of graduate students who were funded on Molesy fellowships but were otherwise sort of trying to steal time where we could. So we now have a software fellow. We now have a software scientist whose job is entirely to help with this project. So having that on staff starting last week has made things already start moving a lot quicker. Yeah, so we should in the next week or so have that up and running. Yes, I was in the communities waiting eagerly for the first grade. Yes, I would have wanted to be able to say it's available right this second, but soon. Okay, well, if we don't have other questions in case I don't see other questions in the list. So there's the question from Dennis. Yes, the slides will be put on the web tomorrow or the day after tomorrow, very soon. They will be also recording of the webinar on the BioExcel YouTube channel and also it will be embedded on the web page where you first read about it. So you can really watch it again. Okay, and with that, I want to thank Kaitlin again for the very interesting talk and we're looking forward for the first release. That's everybody and yeah, thanks everybody for joining us today and I hope that all of our guests from the West Coast in the US managed to join us too. Thanks again, Kaitlin and see you next time. Yes, thank you very much, Rosen. Bye. Bye.