Okay, so great to be here. We're doing a tag team to talk about open force field and what open force field is up to and where it's headed. And it's great to be here in person after so long. Just before this, we some of us came from what's called the chemistry meeting, which is a meeting on free energy calculations by energy calculations. For those who don't know, this is a starting to be a key tool used in the pharmaceutical industry to help guide early stage drug discovery. And force fields are a key ingredient used in those calculations. So it's part of what open force field is about. At the last chemistry meeting, which happened five years ago because this pandemic intervened, open force field had not yet launched as a funded project. It started in October 2018. At this meeting, it was the most widely used public force field, at least by counter dimensions and talks. So that was a big exciting, an exciting change for us. A brief timeline. In January, in 2016, Chris Bailey arrived at UC Irvine in my lab on sabbatical to start essentially getting things going for open force field. And I know the exact date because at the moment I greeted my wife in the labor and our first, our last daughter was born that day. So open force field is exactly that old. And then in 2018, it launched as a funded projects with pharma folks joining on coordinated initially through Virginia Tech at Malsy. And so MSF didn't exist at that point. It was created later to help facility. So that's how old my daughter was at this point. And so, you know, here we are today. We have our first post COVID meeting. Many of us are meeting each other for the first time, which is cool. And, you know, this seems open force field is usually the most accurate public force field. And so here's my daughter now. So she reads, making real strides. You'll hear more. I'm just going to give some highlights of things you can hear more about or you can talk to us about. And then Jeff and Lily will come up and tell you some more about what's going on. One thing we've done is quite a bit of benchmarking of finding free energy calculations with open force field across a wide range of targets. And David Hahn and Vitas have done some really nice work on this cross comparing a bunch of different force fields, looking at all of these different targets around here, something like 1100 by free energy calculations. And it looks good in general. There's room for improvement still, but it's good. And people are, as a result, people are using it a lot. At the same time, you can take that analysis and do a deep dive to see how our generations of the force field changing accuracy. There was actually quite a bit of this at the recent chemistry meeting and a big picture, like as we go from subsequent versions that are close to each other, people don't immediately see it see a huge impact on buying free energy calculations because there's a lot of sources of noise in those. But if you dive in really deeply, as David has done in significance test things and look at, can you see an impact of changes in parameters that are used a lot in the free energy calculation? So this is after some nice significance testing and the bars here go up if going from 1.0 to 2.0 make the results worse and down if they make it better. So you can see that almost all of the changes from our 1.0 to 2.0 version made the binding free energies more accurate. This is after careful significance testing. So we are making headway even in binding free calculations where there's more noise. We see a lot of headway with respect to quantum chemical geometries and energetics. There's also some great tools that have come out that you can use and you'll hear more about these. For example, bespoke fit. Danny Cole will be talking about this in the open force field session tomorrow. This fits custom torsions for specific molecules or chemical series. So on the on the top right you can see a graph looking at the original torsional profile for this molecule in orange and then the quantum profile and the refit profile with the spoke fit in blue. So you can use a fast semi empirical quantum method or your quantum method of choice to refit the torsions and it really does seem to improve accuracy at the bottom right is impact on binding free energy calculations for one particular system. And Danny I think will tell us more tomorrow about what goes on here. There's a fragmentation of the molecules and then fitting torsions that will work along a chemical series. And it does improve accuracy. There's some numbers at the bottom right rms error that is just that right column. And so you can see bespoke fit at the bottom right has way better accuracy rms error on torsion profiles. So you can hear more about that if you want. Also the infrastructure we built as part of the consortium ends up being used and for interesting things far beyond what we're doing. As an example Danny Cole's group with their own funding has been able to build a double exponential functional form force field a general force field so major change in functional form fit it with the same infrastructure test it with the same infrastructure pull water model and everything. So this is something that might have taken 10 years of work for somebody to do before and they've done it in a short period of time. There's a simulation without top right at the bottom left is a bunch of salvation free energy calculations done with the force field. So now I can use it to do salvation free energy calculations and cross compare with more conventional functional forms. There's also we're a basis group at nt state looking at a polarizable exponential 6810 force field and you'll be able to hear more from them about that in a publication soon expect but they've been able to make a general force field that does that and tends to a number of things including enthalpies of vaporization on the right. It looks better than sage there. This is not something that our main line open force field is expecting to do to go towards soon but it's cool because people are starting to use this infrastructure to accelerate force field science in a way we haven't seen before. And then will a Wang and Mike Gilson's group will be talking tomorrow about adding polarization simply direct polarization to our model and then refitting force fields with that again using the same infrastructure and so on the right is a graph with dielectric constants calculated from this and on sage sage is the left right is the polarizable model so it improves dielectric constants a lot. We recently put together a mission statement and here it is you don't have to read the whole thing but part of the idea of at least the industry funded part like consortium is to keep making steady progress in improving the accuracy of force fields. We've run into problems occasionally where we have an idea and we pursue that idea a whole lot and that's a lot of effort into it and maybe in the end it doesn't work out so we're trying to focus a lot in the coming year on benchmarking so you have ideas your ideas have to clear the hurdles and not the ideas that don't clear the hurdles are going to get you know neglected or dropped even if they seem to be really good ideas before you try the benchmarking then it's critical so that we don't make philosophy driven choices we make data driven choices. Now we do continue to make steady progress in force field accuracy and that benchmarking is going to help us systematize things like this this is a comparison we often run looking at cumulative distribution function for small molecule RMSDs or geometry errors relative to quantum chemistry so lower is better and you can see that as we go across subsequent versions of the force field we're making smaller and smaller geometry errors or we're reducing the scale of geometry errors and the same thing tends to hold true for other metrics. You'll also hear in this talk and in what's coming about other cool things you can do or directions were headed for example we now can handle proteins within our infrastructure which makes it easier to simulate proteins in complexes and we're as part of heading towards easy handling of biopolymer covalent modifications of biopolymers lily is building out a graph network charge model that could do really fast assignment of charges even for large molecules which will have some important applications. So you'll get to hear more about the roadmap of this to come I think we're really at the point in the force field where we've made clear progress it's exciting people are really starting to use it but there's so much still to do at some level we feel like we're still just getting going as much as I'd like to be done working on force fields and just go and use them. So you're going to hear more about this but over to Jeff to talk about what we've done so far. Thank you and could I check uh how is my audio over there in the back of the room everybody here okay um am I clearly being amplified by the microphone? Okay uh then I'll use I'll use my outdoor voice as well uh great hi I'm Jeff Wagner I'm the infrastructure lead at open force field and in this part of the talk I'm going to try to convince you of three things I'm going to try to convince you that our models work I'm going to try to convince you that people are actually using them in the real world and I'm going to try to convince you that you should be using them too. So I'm going to start by explaining how we make our force fields when we go to fit a force field we start with an initial guess shown on the left in this case this is a figure from the sage paper explaining that we began with open ff 1.3.0 parsley and then we did a refit to two sources of data one source of data was condensed phase information so densities of mixtures and pure compounds as well as enthalpies of mixing for compounds and so we take our initial guess of a force field we go pack these boxes to match the experimental experimental solutions make sure you know stimulate these boxes to see what density we get see if that agrees with experiment and then try varying the non-bonded parameters up and down a little bit redoing this seeing if things get better or worse and improving the force field sort of by a gradient descent method once we finish that non-bonded refittings we then went to a large data set of qm optimized molecules and their associated energies and we tested whether the mm force field could match the correct ranking of conformers and the energy differences between them and also their geometries and we vary all the parameters up and down a little bit these would be the bonds the angles the torsions and the improvers and we'd use this again to do a gradient descent for the valence terms and finally we'd get a release candidate of a force field out of this optimization process with this release candidate we would go and benchmark it we would do benchmarks similar to how we did the qm training and the condensed phase training but just on data that wasn't used in the training and also we would do benchmarking using free energy calculations. Here's an example of what the condensed phase fitting looks like. These are two types of properties that we fit to on the left we have enthalpies of mixing and on the right we have densities the blue series is the initial force field partially 1.3.0 and the orange series is sage 2.0.0 and you can see before the refitting for example on the right densities were being systematically underestimated up at that high range and with the end of the refitting everything was pretty much on the center line the enthalpies of mixing are a little bit well more mixed but statistically you can look at it and the the training did improve that and so we're not aiming here to to fit protein like a binding for energies we're just taking these small carefully measured interactions and training our force field to get them right. Here's an example that Mowgli showed of the the qm benchmarking and so here this is using the industry data set or the industry training industry benchmarking set that many of you participated and contributed molecules to and here we're showing a cumulative distribution function of when we start with a qm optimized geometry and then we feed that into an mm optimization using a number of different force fields what happens during that mm optimization because the mm force field recognize that it's at a minimum and stay there in which case the minimization would result in an rmsd of zero or does it not think that it's at a minimum and the mm potential energy surface has a minimum somewhere else and it wanders off so a perfect force field here would have a vertical line basically at zero and then a horizontal line and why it's one that would mean that everything sticks right at the qm minimum when you re minimize it using an mm force field we don't have perfect force fields but what you can see is that through successive generations of training our force fields we do manage to capture more area under the curve that means that larger and larger fractions of the 70 000 conformer data set are remaining close to their qm minima and well great we can get uh some densities right we can get some enthalpies of mixing right we can we can get conformers right and maybe that's useful for some users who really want uh to use open ff for those applications but i think the majority of people are interested in protein ligand binding free energies this is another figure from the sage paper showing performance on a large set of protein ligand binding free energies i believe it's almost 600 ligands and 20 different proteins and it's showing that sage is an improvement over parsley that we're now uh you know among the best for open source uh openly available force fields and that we're approaching the performance of sort of long-lived commercial force fields as well so this is exciting oh and on the left that's root mean squared error you want that to be small on the right that's kendall's tau that's how well you rank the conformers in agreement with their experimental ranking you want that to be large uh and so you can see kind of things descending on the left and things ascending on the right importantly it shows that in successive iterations of our force field fitting we are seeing improvements even in things that we didn't fit to protein ligand binding free energy we fit to boring things but it turns out that we're getting protein ligand binding free energies more correct and you'll notice that the numbers on some of these plots have been jumping around uh sometimes i'm talking about sage 2.0.0 and sometimes 2.1.0 and that's because 2.1.0 just came out last week so we don't have all of the benchmarks run on it yet um but sage 2.1.0 is really exciting because instead of taking these things that we're already doing quite well on and trying to get them you know 0.1 angstroms better uh our fitting team for the last two years has been getting reports of osulfonomides are tricky oh phosphoreses in certain situations have trouble you know i'm seeing problems with these specific chemistries and we've had a lot of really helpful feedback and using that we've expanded our training set for the force field such that it covers a bunch of chemistry so some of our parameters we're refitting but some of them we didn't have enough training data on so we weren't doing and over the years we've been generating more of this training data and we're getting more user reports and so sage 2.1.0 focuses on the outlines it's the culmination of people identifying these chemistries and us you know smelling funny things in corners of chemical space and this is due to a huge amount of work by the way from the people on the right pavon trevor chape and and josh we're all going to be giving talks later on but in particular it's important to note that there's a lot more parameters included in the training that means that we're relying a lot less on just whatever values were in the previous force field or what we're going to keep um and especially we've been haunted on the bottom here we can see there's the sulfonamides we've been haunted for a long time by problems with geometries of sulfonamides and this cleans up a lot of those over here on the bottom right these are plots of two angles these are three atom angles that get used in sulfonamides and before and after uh the changes that were made in open ff 2.1.0 you could see that things that were assigned a 31 would sometimes deviate from uh their expected geometry and things that would were assigned a 32 would deviate and they would deviate systematically in one direction or the other not like oh you know it's just chemistry is complicated it's like no things are systematically going to the wrong bin here and so pavon and trevor in particular did a lot of work to redefine the smart patterns so that things are now falling into the correct bin uh if you want to hear more about this pavon's going to be giving talk tomorrow uh in the open force field room from 4 to 4.25 p.m. and indeed this is cool we said oh we're going to go outlier hunting you know and we can make up all these narratives about what we're trying to do but when we actually look at the outcome this is uh one that experiment again where we take a qm optimized conformer and then we re minimize it in mm and we check to see how far it wanders away from that qm minimum and uh a perfect method again would just have everything in the leftmost bin all the rmsd's would be zero the mm stays right where the qm says a minimum is but that's not real however what's cool here is we see that leftmost bin the thing that we weren't focusing on the things that we're already doing well on that didn't get that didn't get a whole bunch of new members what we did get is an increase in the lower range bin that comes at the expense of just taking a little bit off of all of these large outliers at high rmsd so these things that we were doing exceptionally poorly on before we've now gone and wrangled all of those in we brought the flock back into a lower bin so again if you want to hear more about this and the process behind it definitely come to the bond stock tomorrow. David Mobley also mentioned the spoke fit this is when you want to spend a little bit of extra computational time to get an extra accurate result from your calculation you can use open ff bespoke fit and this will take a molecule of interest and it will add terms on top of the general force field so an input for bespoke fit would be sage 2.1.0 and your molecule of interest and bespoke fit will produce a new force field that's sage 2.1.0 with additional torsion terms on the end of it for the torsions in this molecule of interest and it will identify the torsions that will fragment up that molecule it will do qm drives of those torsions to get a really accurate surface and then it will train the new terms that get added to the force field based on those qm results and does it work well yeah again you don't just have to believe that oh if the qm geometry matching gets better if qm energy matching gets better then probably something good happens downstream no uh josh and danie and simon really went out and tested this i believe with the help of david han and the free energy results get better on the right is the results of a version of parsley that was available at the time that was extended with bespoke terms and on the left is just the version of parsley without the bespoke terms and you do indeed see that many like basically all of the metrics quality get better so if you have the time to do bespoke fitting uh you can check that out i believe we have an industry speaker this afternoon william lou who's going to talk about some of his experiences doing that and so i hope you now believe that our models work and now i'm going to try to convince you that people are actually using so it's not that we have some model that only we can run because it's so Byzantine uh i'm going to show a couple of use phases so one is from we we had this talk in an all hands meeting came out of the blue for me uh from tobias hookner and he talked about using different small molecule force fields to investigate crystals uh small molecule crystal structures and he he tried a whole bunch of them and yeah personally in sage end up working really well in this situation again something that we hadn't trained the force field for it wasn't anything that we had identified as a big use case but he used it and it's a general force field and it did a generally good job um if you want to come to tobias's talk it's going to be on a different topic actually but he's a really smart guy and he's talking tomorrow in the open force field room from 1110 to 1130 we also uh you've probably heard from us that we're coming out with this amazing rosemary force field in the future it's going to be a self-consistent protein small molecule force fields such that uh if you have some modification to your protein the small molecule parameters will just fit in there uh the the parameters will basically be indistinguishable and it's it's a huge amount of work and you're going to hear about this in one of the talks tomorrow as well but in the meantime we've been joking you know oh if you wanted to do something in a pinch you could put together a franken force field take something that wasn't meant to be combined and just use the smirnoff hierarchy rules to combine it and josh and i uh josh michael and i on the bottom there were having a check-in last year and we were just kind of joking around and we ended up saying two or three hours past the end of our check-in and we put together a little notebook of yeah let's just frankenstein together amber's ff14 sp and sage and just see what happens and we ended up with a notebook that can parameterize post-translation modified proteins and during our workshop push we went ahead and and did a workshop i think around october which rebecca alfred attended and she started using this workflow and i'm really excited to hear where this is gone so uh rebecca is at at yens and i believe and she's going to be talking about her experiences using this for post-translation modified protein modeling this afternoon also apparently people like free energy workflows and i've i had never run a free energy calculation in my life before i came to open force field and i still haven't but apparently other people do it and we are being used in an enormous number of free energy calculations um this is just this is the stuff that came in my inbox in the last like three weeks by the way there's so much of this happening and so if you're wondering you know are there free energy frameworks that can use open force field do they exist uh yes they very much do and uh people are using them people have been using them uh and so if you want to be running free energy stuff with open open force fields the tools are out there and you'll be able to hear about that this afternoon with Richard gowers and you'll be able to hear about that with william woo our industry speaker as well and there's a million other places where our force fields are being used we're getting integrated into commercial toolkits we're being integrated into open source toolkits uh we had the big covid moonshot consortium uh the past few years apparently uh and they were using open force fields so the our force fields were on computers all over the world being used in huge data sets uh there have been scientific papers so yeah in case you haven't started using our stuff yet people out there are using this and it's not hard to use and it's not hard to get started i wanted to give you an update which is that in the past year we've added protein support to our uh to our ecosystem so before our force fields were focused on small molecules and our infrastructure was focused on small molecules but in the run up to our rosemary force field we've been expanding out the infrastructure we've got this ff14 sp port into smirnoff format that you can use to parameterize proteins and this simulation here was run using the open force field toolkit uh it took 20 lines of code and about a hundred seconds and those 20 lines of code if you don't believe me or just there on the right um we'll be talking about this more tomorrow during the infrastructure talk but this was the culmination of the effort from a whole bunch of people and you should look forward to being you know to setting up protein ligand systems in the future in open force field this is also going towards one of our big collaborative projects this year which is alchemy scale and as i said it's great we can fit to qm we can fit to condensed phase but what people ultimately want to know is does your force field work for free energy calculations or at least that's what a lot of people want to know and we've been in a working group with open free energy in the codera lab and other stakeholders in the past year working on a large uh free energy calculation orchestrator called alchemy scale which can dispatch bajillions of free energy calculations at a time um and i won't go into a huge amount of detail about this because david dotson's going to do that right before lunch but this is a really exciting project and it means we're going to be running a lot of free energy calculations uh as a routine thing it's part of just not even releasing force fields just making candidate force fields doing experiments with different functional forms and stuff different types of parameters and this is going to be a big help for us to expedite our force field release process and so now i want to convince you that you can too that you can get into our ecosystem and learn to use our tools make your own workflows and get moving on that so here i want to highlight that in 2020 we did a survey of the advisory board and we asked them a whole bunch of things we probably asked them too many questions but one of the questions we asked is hey how is the documentation and the answer was not very good um we got uh basically a 3.3 out of five uh we had a lot of comments specifically saying oh i had a problem and i couldn't figure out to solve it i couldn't figure out how to solve it it probably would have helped to have this in in documentation a lot of our people work it or a lot of our users work at companies where they can't send us a bug report and so the more tools we can give them and the easier we can make it to use those the better the dividends for us and so uh around that time we hired josh mitchell he's our scientific communicator and he's got a real passion for clear understandable parsable documentation and he's taken a huge amount of initiative to get the word out there to make our documentation easily approachable and since the time he's been here that same question phrased the same way to the advisory board in 2023 gave us an average rating of 4.5 out of five we had a a poll kind of question asking about the quality where you know kind of went from bottom to top bad to good and everything was in the top two categories all of the responses were hey these docs are hugely improved so if you tried our docs in 2020 and you found them lacking or if you're thinking oh Jesus am I going to be waiting through source code you won't be waiting through source code the docs are there and you can get started uh we've now got on the far left these are what we call wayfinding docs now that we have a number of packages people don't know if they want an interchange or a molecule or what what have you um josh has put together this wayfinding figure where you can see the workflow for where the molecules go in where the force fields go in what comes out in what format and you can click through these different colors to get to the documentation for that specific package or to the api for that specific thing uh josh has added a lot of kind of open eye style theory documentation so not telling you in terms of the commands that you put in the computer but telling you in terms of the scientific theory what's going on in the tool so you can understand if it's suitable for your use or why it's taking so long or you know anything like that and also he's he's updated our documentation theme things are clear now you can easily pull out code blocks from other texts you can see the arguments that go into functions um people have said really nice things about the parsability of our docs since that change went in and yeah you should keep your ears open for more workshops that will be running later this year uh sort of like the post-translation modified protein workshop we found that to be really successful we found that to be a great way to engage with people and we want to run a lot more of these sort of like micro hey here's a cool application here the lego blocks to put it together um if you want to use it verbatim go for it if you want to understand the lego bricks and put it together a different way go for it but this seemed to be something that was really popular and it helped get us engagement so keep your eyes open for more workshops and so i hope i've convinced you that our models work that people are using them and that you can use them too and now i'm going to go ahead and turn it over to lily to talk about what we're going to be doing in the next year cool thanks jeff um so jeff i just in a really cool view of all the amazing things that we can do with all the work that we've been so far um and now i'm here to give a bit of an overview of some of the uh new stuff that's coming out um all that we're working on uh in the upcoming year and a bit further into the future um so these new uh projects are going to span both science and infrastructure needs but i'm going to start off by highlighting those that contribute most to our commission which is bringing bigger and better force fields um so as always we will continue uh incrementally improving and updating uh what we already have um which so far has been a series of continuously improving small molecule force fields but over the next year we plan to expand the scope of our force fields substantially to cover both different domains chemistry and increase the general applicability of the size of the molecules that they can apply to so first and foremost uh what we want to do is move on from small molecule world and enter the vast region of biopolymers starting up with proteins so our initial goal with the next major release that we're planning rosemary um is to fit a single self-consistent force field containing parameters for both small molecules and proteins um this has been one of the biggest projects that we've been working on over the past few years and it's been spearheaded by chaffin he will talk and talk about this in a lot more detail tomorrow afternoon um but i'm hoping here to just give a bit of an idea of how much work we've already put into it and uh roughly where we are in terms of progress so using our infrastructure chaffin has uh successfully generated um a series of new quantum chemistry datasets to both train and benchmark uh a next generation force field these data sets have largely focused on profiling key torsions in proteins both the backbones and the side chains um and now that they're generated as part of our open philosophy they're up online for everyone to use um and work with as jeff and josh will demonstrate in the infrastructure presentation tomorrow um so using this data chaffin has been able to fit several force field candidates um which fall into a couple of different categories to make sure that where the rhythm is not just possible um these would be the null model uh which is the force field uh fitted with this additional quantum chemistry data but without additional protein parameters so using the same parameter specifications as in our most recent small molecule force field stage 2.1 and the specific model which is um which does contain several additional protein specific torsions uh each of these force field candidates is benchmarked on both small molecule and peptide targets um with various qm the metrics based on qm targets like the relative conformer energies torsion profiles and optimized jump through set jet has already gone through um and we look at performance on on both data sets uh what's interesting is that um the performance on the general small molecule qm targets is mostly for what to say which seems really good success yay um but the torsion profiles for the peptides in particular can show large mismatches in qm so this has been a large part of the project so far is uh is fitting one of these protein force fields uh benchmarking looking at the problems and then going back through the process um refitting uh and exploring different settings like uh using different weights for the data um starting off with different priors and possibly fitting to additional um quantum chemistry data that we generate as needed so i'll let jayton talk more about this tomorrow i won't still all this sunday but just as a taster i might give an idea of how the current protein force field candidates are doing um so these qm benchmarks are all very long and good but mostly what people care about you know assimilation properties so the other benchmarks that we used to evaluate the force fields include predicting NMR observables and protein stability over long simulations so on the left here i have a graph um uh comparing uh the predicted NMR observables to experimental values for three different force fields on the left we have um amber 14 sp um and in the middle we have our two different malware specific protein force field candidates so initially it looks like we have a long way to go both of the open ff candidates perform worse than amber or NMR observables and um the story actually gets worse if you look at the rmsc trajectories because uh these uptakes in rmsc oh can you see my mouse i'm trying to move my mouse over this but can you see it oh that screen's the left of the screen oh okay so is it visible over there oh yeah you can just use it okay sorry um uh so these uptakes in rmsc um of a long time scale simulation of a protein show that uh helix and alpha helix and y's in one trajectory of both of the protein force field candidates that we're looking at um so yeah the story's not great so far but what's really interesting is that whoops um if you replace that for none of the water model tip 3p uh with a foresight water model opc the the open ff candidates become much more competitive um so on the left with the NMR observables one of the uh force field candidates the the null model with opc water um actually achieves comparable performance with 14 sp and uh chip in has also conducted additional long time scale simulations with proteins and opc water and so far uh has not observed any helix unwinding um so this is maybe indicative that the problem is not so much with uh the parameters that we fitted but potentially with uh the water model that we're using so that brings me to our next project goal with rosemary um to add self-consistency with water and iron parameters by optimizing our own water model and and ions um so up until now we've been using the tip 3p water model inherited from amber um but that has a lot of problems that we kind of already knew starting with the fact that it was developed um with short range electrostatic uh cutoffs instead of uh and and not for use with PM simulations um so we've been thinking for a while now that possibly we should be reaching our water model um for example we saw that when we refit vandalized parameters in sage uh that the enthalpy of mixing um of aqueous structures um improved slightly but remained systematically overestimated so that suggests that the common factor here the water model uh might have been from proven um added to that the fact that champions candidates post-work candidates get much better results with ovc despite all the parameters being fit to tip through here um suggests that uh this might be the next test direction to go for improving um right so yeah um we're refitting the water models because we think there's a lot of room for improvement um so that should come out as part of the rosemary line um hopefully with or right after the initial release of rosemary um and after that we're hoping to improve our force fields um along an electrostatic pathway so we plan to expand our electrostatic treatment in two ways um and the first way is again within the rosemary force field line with the addition of neural network charges um so up until now we've been using the aim one is to see charge model to assign electrostatic parameters to our force to our molecules with our small molecule force fields um and that's worked pretty well um but aim one is to see his method that uses semi empirical calculation to come up with the original aim one charges so realistically this really limits the scope of the molecules that we can address to a couple of hundred atoms at best um so if you want to work with proteins we're going to need a way to assign charges efficiently and a neural network model allows us to assign self-assisted charters to both small and large molecules um as you can see here uh with one of the prototype models that we have here um we achieve efficiency scaring spot result magnitude better than um a full on open eye aim one bcc calculation another advantage of using a neural network is that uh we can design the network to avoid doing the northern life of geometry so that we avoid the dependence on the conformity geometry inputs that you might get with uh with aim one bcc or other qm based charge models so our initial goal because we are releasing this as a proper replacement for rosemary is to fit our charges to replace aim one bcc uh that being said we're not limited to uh only considering aim one bcc once we release our initial product this pays the way for improving the level of theory um to possibly a higher level so when the chemistry theory um so we've been working on this over the past year or two uh and we have now achieved models that do perform similarly to our existing methods for calculating aim one bcc charters so we're quite confident that we will be able to release this um as a minor update to rosemary soon after the initial release um as jess mentioned uh the infrastructure team has been hard at work putting together uh the ways to use bright charters um so now that we have the infrastructure in place for people to play with um uh it's up online in the most recent open ff toolkit release uh this is caveat um this is very much a prototype model this is not the most up-to-date model that we have um and that's why it's it's wrapped in all these private modules with private analysts um but as demonstrated in the infrastructure talk tomorrow you should be able to assign partial charters to proteins using this um and in less than a minute in the case of the gv3 protein um so that's rosemary i want to now talk about another really exciting direction that we're going into in the upcoming year which is expanding electrostatics by adding virtual sites um virtual sites are now one of the top priorities that we have for improving small molecule providers we know that it's difficult for classical fixed charters to properly represent the electrostatic surface around a molecule um to the level of detail needed so for example this is a method bromide and on the left here we have the qm electrostatic potential surface computed at hs631g star and you can see a signal hole here around around the bromine um with classical m1b specifically fixed charge fixed charges uh this signal hole disappears there's just no real way to represent it without adding um a virtual off-site particle so uh and and we know that this failure to represent the ESP properly does result in close systematic errors in simulation properties like um salvation of free energies so our goal is to create a virtual site um we will initially fit it uh to the electrostatic potential or the electric field at hs631g star this is going to specifically target low hanging fruit and no problems no problems such as the sigma holes that are just illustrated um and we've already got a pilot study suggesting that this should improve our parameters and performance substantially um this will be a fairly large project we will have to uh generate a swear that we do qm data and possibly more experimental physical property data to both fit and validate against um and much like with the graph charges uh we are initially fitting to hs631g star but we're definitely looking forward to investigate to fit into higher levels of theory once the initial product is out so um the timeline for this is uncertain we predict that virtual sites will come after rosemary but if a virtual site is a force field is ready before then um we're not gonna we are going to release it when we have it ready so this timeline is more of a a qualitative estimate than anything definite um beyond the virtual site force field we have a lot of other exciting possibilities on the horizon um there are projects like automated chemical perception um fitting the surrogate modeling moving towards a general neural neural network force field um incorporating polarizability and exploring alternate functional forms um sorry um and a lot of the talks tomorrow will cover these topics so if you're interested please do come to the urban effort room and and have a listen um but the problem with having all these really cool things going on is that we have limited time and resources so the question becomes which feature do we prioritize um at what point do we investigate in major updates and changes the infrastructure and at what point do we uh does a feature make it into a fostered release so at open ff one way that we can classify these these features is by putting them into three different bins um on the left we have the newest ideas and the newest sites these could be really cool but um they're still too new to know if they'll actually pay off in the middle um we have ideas that have been a bit more fleshed out that the um the consortium or the staff members can start putting effort into um and then on the right hand side we have the things that open ff has fully committed to to both bringing and maintaining for its users and that would include user facing functionality and and port deliverables so what we need here is a way to both assign um features into these bins and then a way for features to move between them so that we can work out exactly how much effort and how to prioritize uh new features coming up and so that's why one of the major projects in the infrastructure um track coming up is bringing together this generalized benchmarking suite um to the oms staff members to start off with and then to general users so um the goal of the generalized benchmarking suite is to make it easier to both implement and run benchmarks on your work um this package is is going to be designed with a modular plugin architecture um and incorporate multiple different data sources be able to work with many different um tree alternate alternate functional forms um and work with a number of different analyses so we're already well into phase one um which will start by implementing this architecture and then follow up by um including season one style industry benchmarks as well as the save release benchmarks followed by phase two where we may run a second season of benchmarking um but the main focus will be on sorry on expanding usability um and usability is a major thing of the infrastructure focused for this year so a lot of effort here um this year will center around making interchangeable usable um expanding the range of importers that will include to incorporate a simple amber charm and gromac systems um and we'll also look at improving the user experience in protein with the workflows uh and the toolkit will expand a polymer loading infrastructure to support dna rna user defined custom substructures and so on we'll also support loading from formats like pdbs and mmcd um and some more formats and finally now that josh has done such an amazing job with package specific documentation uh the main focus for improving um the infrastructure there will be to centralize it all in an area and start developing centralized cross package workflows so uh all in all we have a busy but exciting year ahead of us bringing breaking into new domains of chemistries um exploring more electrostatics and making up products both easier to use and evaluate so with that i'll pass back to david to wrap up all right so i'm just going to try to wrap up on the speaker um you know to kind of summarize um open ff seems to already be competitive probably the the best public small molecule force field and we think the 2.1 which we just released is going to be better for some applications the so here's finding free energy calculations with edits and with 2.0 and some other methods the 2.1 release as you heard and you can hear more about tomorrow has made some improvements to the fitting process that actually improve accuracy relative to qm and we think make it a better force field in general uh some of those the improvements are about how we fit and then a lot more are about details of chemistry and fixing problem cases one of the interesting things is we have better initial gases for parameters now they come straight from gone rather than starting from a previous force field and um in addition independent assessment agrees that we're making headway or essentially we had previously built out a benchmarking infrastructure that allowed pharma and industry to run benchmarks on proprietary chemistry internally and then report back essentially anonymized performance statistics and so that showed more or less the same thing that that's performance is improving from one version to the next on the top is looking at some error structural and energetic error metrics by bin and for our force fields versus including gaff and and opls four which is the industry competitor and so our force fields are making progress in that and at the bottom it that's the top one is for public data the bottom is for proprietary data where they only reported back anonymized performance statistics so you can see that in the paper but we're making clear headway and this was an independent assessment so we're excited about where we're going as I said earlier I think at some level we still feel like we're just getting going because there are things like virtual sites that we already know are going to improve force field accuracy and we want to get those into a force field as soon as it makes sense to do so although that will break some downstream things like binding free energy calculations with some tool sets and as you heard we're headed towards a consistent biopolymer force field we are pretty small so there's the initiative which is everybody doing everything that relates regardless of their funding source and part of that is is funded by the national and institutional health we but the consortium part which is the industry funded part really is roughly speaking these five people on the left and some of them are fractional I think we have really a small fraction of David Dodson who you'll hear from later so it would be great to have a little bit more so we are continuing to actively recruit partners if you if you know anybody who wants to join us and the initiative there's there's too many people doing related research picture all of them there are a couple changes Pavan Bahara who is a new person on the quantum chemistry side has moved to a permanent position and I'll be still giving us some advice for a while and so we have probably two new people in the QM data set QM fitting and data set side coming in and also we have a new project manager James Eastwood who will be started soon who's going to be shared with open free energy anyway we we want to thank everybody who supports open force field the NIH and the consortium we really appreciate all the the farmer partners and industry partners both past and present there's a big list up on openforcefield.org and the team and the alumni it's a great community of people a virginia tech provided initial hosting through mulsey and then omsf now it's really been great working with mulsey on this and being part of helping with omsf on this and being part of helping to get on this up going and we're excited about the ongoing interactions with open free energy that's been great as well and in some sense we stand on on the groundwork laid by the amber community in the past the 80s and 90s so we appreciate that work as well so thanks very much for your attention and we probably have time for a couple questions


Hello everyone and welcome back to the Open Simulator Community Conference 2017. This is our fifth year for the conference and we're celebrating 10 years of Open Simulator. Our 7 to 7.30 a.m. session is entitled OpenSim Technology Opportunities or Obsolete from an Industrial Perspective and our speaker today is Frank Rulof. Frank is a senior systems engineer at Thalys, Netherlands with expertise in training and simulation leading the research and innovation activities related to Open Sim Technology within the Thalys Global Company. Frank, I pass the mic over to you. Thanks for joining us. Okay, thank you Michelle for this invitation and thank you the community for this invitation. What I would like to talk about a little bit is how from an industrial perspective we look at Open Sim and how to use it in our products. So in basics companies use technology for two things. They develop and sell new products or they optimize their operational processes with as mostly as an objective to lower cost so related to the price of the new products that is sold. With that perspective it is looked at how you develop products and what markets and that sort of information. So what is the interest of Thalys in the Open Sim Technology? First of all we see it as a collaboration platform and we as a global company have a lot of multi-sites national and international. So we see this as a collaboration platform in which we decrease cost or lower cost and because we are international there is also a traditional tools and methodology that increase cost if we have design methodologies and we want to share that throughout the world it is getting more cost associated with it. So risk increases because dividing work over multiple sites around the globe will increase the risk. Another part is that we look at this technology for the reason of new training methodologies. In our field and I am working in the naval defense area simulations training is done with very expensive machines and very expensive software packages which take long to develop and we see also that most defense organizations want a reducing cost. They also want to have individual training at any moment in time and mostly our simulations and simulators are located in a fixed location. So that is one of the reasons why we also try to look at new ways to doing that. So what is the opportunity of Open Sim? What does it give us? It is a way to connect people virtually for calibration. What is the cost? What is the thing behind it? It could decrease cost mostly travel and it decreases a risk and does cost as well because if you can go into a virtual world and talk with an engineer that is situated in the US or in Australia then it is much simpler. It reduces risk. If you won't do that you have to phone or you have to travel to it and that won't happen because of the cost itself. So it also decreases risk and thus the outlook of a better product. New training applications, less expensive as would already said and no training, central training facilities also meaning cost for travel, cost to operate it. And there are lots of other areas where we think it could be contributing to cost, central cost, engineering, program management, product line management. So if we look at some examples, this is an example of general collaboration, having meetings with people from various subsidiaries all over the world, coming together to discuss and find solutions or innovative or whatever. We use for that a number of tools that we have developed through time. We have the equivalent of what you see here as a presentation screen but then we load our documents and presentations and drawings into a website which then automatically will convert it and put it in world on the screens if we want to. We use voiceover piece server based on murmur. We also use VFox for a while but if we want to sell it to customers in our product line they will not accept their audio going over a server from VFox in the United States. So we have our own solution for that. So this is another thing that we use. We use whiteboard so that we can collaborate between the number of people, a real whiteboard with stickers with drawings you can make on it. We have of course web access but we also have screen sharing so that people can share their screens between the visitors. The other thing that we do is in the line of the training we also try to get the models of our systems into the virtual world so that we can design training around it for maintenance and so on. This is an area that is still one that needs to be developed because the process going from the CADCAM models into a model that is suitable to be in world is not an easy one and we need to find out how we can make that as efficient as possible. Here you see some other examples, this is a virtual training center that we created and we do experiments with so that we can try to find out what is good to do training for our customers and how they can fit and how we can optimize this experience for them in order to give small training to them through virtual worlds and not needed to travel to our facility to have the training. This is another example that we do. We made a command control center to see if we could in the future create training for command control using this kind of virtual training centers. What are the current activities that we are doing? We've been working at the moment, my team is working on the LSL editor. I think you probably all know it, it's the one that I think is commonly used. We will extend it, we will bring in all the open SIM primitives into the viewer and we will also include new functionality in order to have a sort of include facility so that you can include parts of scripts from other files into your work. The work on this is nearly done and that will be released to open source I think in January or so. We are in the final stages of testing and reviewing the documentation, the manuals that are with there and then it will be released in open source. The other thing is that we want to create a better remote desktop and another very important thing and I talk about that a lot of times in other places during the conference is that we are working on a simplified viewer because that is exactly what is needed by the users and what are big comments we have from our users. So now let's talk a little bit about user experience. What we see, I've been busy with this for about six years and all the experiments that we see are some psychological thresholds and then you must see that there is the population is the people that have never experienced working with an open SIM type of virtual world and then you see that each plays a role because elderly people see this not as serious they first start seeing this as a game and while this cannot be serious should we do something with that is then the question and we also see that if you give presentations about it they say yes nice and then they leave it if you give a demonstration they say oh it's nice and it's nicer but they're really going to work on it people when they are to really use it and when they really use it they mostly say hey this is very interesting I can I seen advantage in using it so there is a sort of psychological threshold that holds people back to use it. The other thing that is the other thing that is from a user experience point of view comments we had is okay this is it's a lot of problems to there's a lot of problem to install it to get it running the audio is always a problem to get it right the first time and when we want to integrate it into our larger network of systems security plays an important role and the security for instance is something that already holds distributing the open sim over the talus corporate network for three years because of that so another set of user experience most people who work for the first time with with open sim find the viewer too complicated some other remarks they don't see use in flying or walking why do we need an avatar well this is a little bit of a silly remark of course because if you don't have an avatar you don't see the other the other person you're talking with but okay missing integration with office shoots or other outside tools the graphical look and feel and they get spoiled by the nice games and they get spoiled by the holo lenses and the and say well this is that it's not so it's not so nice the fact that we cannot reach tablets and also the use of 3d headset we did experiments with 3d headset and that didn't work really well because okay we have the nice work of somebody who tried to modify the viewer for the oculus rift but in fact the frame rate does not really allow to work it correctly you need to buy you need to create a whole new viewer to do that right i think the other point is that the other point is that the the presentation screens and the text on it was not very well readable with an oculus rift at that time so we didn't we didn't continue that way because well that was one of our basic things now if we look to user experience in the other sense is that there is a lot of competition using headsets using artificial intelligence using high density graphics which move people away from the real benefits of this technology which is you can access it anytime any place where you are you can cooperate over the over the whole world in an easy way you only need your laptop you don't need rooms with sensors when you know need special expensive headsets and so on but yes the other thing looks a little bit nicer and it looks better the focus on augmented reality this is one of the things that draws the attention away from what we have as well so to make to make it so that the point here is how can we bring open sim to a point and the viewers together because it's a package of course to a point that they are in line with the other technologies like ar like vr with with headsets one one of the things that that opensource itself of open sim itself could look at is security aspects because we are not a military organization but our security regulations are that heavy that we cannot deploy open sim on our corporate network system at the moment and that is also something that is heard by a lot of other companies that are not defense companies but still have a very tight security and open sim needs more or less to get closer to be able to use it make installation simpler we thought of web based viewers we also thought of server rendering so that the the rendering of the of happens in the server and not on the local pc or the local laptop it also helps to bring it to the tablet if you want to do it a simplified feel for users we have been working now on it we we try to to convert a singularity viewer to a simple viewer and do experiments with that enhance interoperability so make the appies to access parts on access parts of open sim so that it can cooperate with other packages documented make it more open so that people can try to integrate things and make a larger applications of it the other thing I would would be good is to have a clear roadmap and an organization that supports and allows others to participate we have the email other organizations that maybe can play a role in building a roadmap and finding other organizations that would help in development and do things to bring open sim and the viewers further on and and one thing is important try to implement industrial standards as much as possible because then the interoperability between other packages would would help so this comes to my this comes to the end of my presentation and again I think that that open sim has much more potential than it gets at the moment but from an industrial an industrial point of view it must be attractive to get profit to optimize organize optimize processes and to make new products thank you very much and thank you thank for a fantastic presentation we do have time for a few questions if anyone has a question I see Steve would like to know if your slides are going to be available later and I can tell you that we will put slides up on the conference website so that people can get a hold of them yeah for I see a question about the audio as maybe as some of you know vcom a company in the in Switzerland was the one that once tried to produce a murmur based voice of IP for second live we asked them to create a murmur based version for us and we work together with them and they will bring that version to open source as well that will also happen in that's one was one of our our conditions to let them work on it and it will be it will go to open source in january as well oh great fantastic um lear is asking to define remote desktop well remote desktop is that somebody's desktop somewhere in the world can be shown in world for all participants okay and then um let's see neo bird says could you say more about the security requirements e.g. VPNs authentications etc please uh yes we did um we did a test with VPNs uh say in the current setup the viewer and and server and that works fine with with open sim and but um our company has a lot of our corporate has a lot of additional policies and security policies to which an application must comply like open source they want to be sure that there are no no back doors in it and so on and so on so it has to go through a whole lot of tests and validations before they allow it to get it on the internet so it's it's the fact that we use udp for instance tcp is okay but udp is is could be a problem from the perspective of the security people okay um i see how simple is a simple viewer right well um yeah okay well a simple viewer that means the people that that give this sort of commands are people that come for the using this for the first time and for the first time it means uh they get a little bit of training but then they go to the viewer and see all these buttons and all the things so a simple in my case is the navigation and a few very simple things that they can do fantastic and frank will you be here a little bit longer afterwards if people have further questions yes i will be uh the whole conference i will be here okay so you can look for frank uh do you have a booth over there yes i don't know exactly the name i think 13 or so okay so you can find frank in his booth i want to thank you uh frank for joining us today and sharing all your available knowledge with us thank you very much and we also want to thank today our oscc 17 sponsors uc urvine institute for virtual environments and computer games who support this grid rock cliff university consortium yippee-ki-yay blues galactic systems ink grid phone loud llc pure power streams for our audio stream and virtual out warding for its ongoing support of many of abacons programs and events i also want to thank our many crowd founders and volunteers for making this event possible so all the people that you see with the staff shirts they're volunteering their time so make sure to thank them along the way another reminder uh the conference schedule could be found at conference dot open simulator dot org and following the session our next session from 730 it starts at 730 am it's called oar converter using open simulator and unity as a shared development environment for social virtual reality environments also we encourage you to visit all of our expo regions uh the oscc 17 poster expo is on expo three region company and information on our presenters and explore the hyper grid to our resources which are located on expo two thanks again for everybody coming and we'll be back in a little bit


Hello friends, I am Sanjay Gupta. Welcome back on Sanjay Gupta Tech School. अब देख है, C-language video series अद इस वीडियो में जो तोपेख हैं दिसकरस करनेवाल हैं. उस तोपेख का ना मैं, Poynter. तो, जिनो ने C परना बिल्कुल बिगनें में स्थाट की है, as a beginner हो. तो उनो आपने senior से सुना होगा की Poynter वोग तोपेख होता है, C-programming का. तो असा बिल्कुल भी नहीं है, Poynter दी उतना ही, easy topic है, जितना की बागे topics आप आप आप आप बड़ चुक हैं. तो आप आप पुरी video series को फोलो कर रहे हूँने. तो में लास्ट जो video, इस video series लिए मराए था वो की, वो ता area of structure based, और उस से पहले मैं इस शुक्चा इस प्लिंग की आता. तो हम इस video series में अभी तक if else, loop, array, string, 2D array, 3D array, structure, union, इन सब को दिसकस कर चुक हैं. तो आप हमें जो next topic दिसकस करना है, Poynter. तो Poynter में जो points हम दिसकस करें यह वो आपके सम्ने में वेंच्यांट है. जैसी यह भीडियो बेखरे होता हैं और कमप्लित जाता है, और आप कोई भी दाउड मुस से दिसकस करना चाता हैं में भी दीटेल से हैं. तो आप मुस से कमिलिकेट कर सकता हैं. तो start करता हैं Poynter. And one more thing. अगर आप पूरी भीडियो सीरिस को पूलोग करना चाता हैं और आप के पास लिंक अवेलिपल नहीं हैं. तो आप मेरे जैनल पे प्लेलिस्ट में जाके सरच कर सकता हैं. तो start करता हैं Poynter. तो सब से बहले देखता हैं. बैसिगली Poynter कोता हैं. तो एक दो थीरेटिकल स्लाइट्स के बादा में सको प्रक्टिकली देखते हैं. तो Poynter is a variable which can store address of another variable. तो Poynter भी एक वेरिएपल होता हैं. तो ये थो थीरेटिकल स्लाइट्स के भादा में सको प्रक्टिकली देखते हैं. तो Poynter is a variable, which can store address of another variable. तो Poynter भी एक वेरिएपल होता हैं, बत Poynter, which stores value, रहीं किसी थुسरे वेरिएपल का अग्झैज़्ा से होती हैं. तो अख़ी आप लोग को ज़े अग़ भीरार्याबल ग़ी वी नाप्वब दश्टे करी था पहकलूँउ़ना करई से मएब वीरेबल को मैमरी लोकेट है तो ऍेपया नहीं से पहनागा और और फ्वोंगट्च्त़ए पाच्टी झेome. अगर कोई लेंवाग यह से आपके गर के पहार कोई पडाशा बोड लगावाए, जिस पर आरो बनाववाए और उस पे आपके कोलोनी के बिगनेग और आन्टिंग गर के नमबर से वो मेंच्याड़, तो वो आरो बेसिकली जागरेगा, पोईंटर का खाम करेगा, तो जो बन तो हम पोईंटर के ठू भी उस वेर्येबल तक पूँज से, तो अब एक चोटसा पिक्टोर्यल डाएग्राम देख लेता है आपन पहले, तो लेट सपोस यह अपना एक वेर्येबल आई, यह उसका एक मैंडी बलोग बनाववाए, अगर 16-32-bit compiler है, तो 4-byte मिलेगे, तो यह जाएंगे 101,102,103,105.  तो मैं इक बर इस को समच्वरिस कर देता हो, हम ने एक विरिएबल बनाया ए, उसकी वेलिएव फीफ विरिएबल का बेसिक आटर से 101, P-Pointer बनाया जिसका बेसिक आटर से 201, और हम ने M% A गे तु ए विरिएबल का जो अटरस ता वो किस को देखा P-Pointer. तो आई वो की ये स्लाइड आप को समज में आगे होगी, विरिएबल अलग बनाया, P-Pointer अलग बनाया, और विरिएबल का जो अटरस है वो मैं P-Pointer को असाँईट कर देता है.  इआ इपको इवि खम्ँद़ ब्शाग़ आप आप हैं? ईया इपको इविख आप खम्ँद़् हा after even that then the ugmohing still unclear आ भी प्रेंट किया होगर है? बु�orge solution ईपको आपको आपको क्ऑो Harbor 101 अद्रेस पर लेलु क्या है, 5 तो it means, किसी भी पोईंटर में जब आप कोई अद्रेस असाइन करते है, पोईंटर में जब अप किसी वेरिबल का अद्रेस असाइन करते है, तो आप उस पोईंटर के तुए उस वेरिबल की वेलु को अच्सिस करेंगे, उपर तांगता असे, फिर लेक और प्रिंट अप लिखा, फिर मैं लिखा वैलु of P. तो वैलु of P प्रिंट करानाई मखला बेक अद्रेस, तो अप दिहान नक्येगा अद्रेस प्रिंट करानाई, यह तो आप को क्या लिखनाईगा प्रींट पि? इसे भी वेलिभल के अद्रेस प्रिंट करनाई प्रींट प्रींट लिखा. if you want to print the value of that address then use asterisk value of a through p what will you write? asterisk p now you will understand if you write only p then you will get an address if you write asterisk p then you will get the value of the address of p you will remember this now save it and execute it now the address will not print 101 the value of a is 5 the value of p is 2 2 f e 4 4 this is hexadecimal value and the address of a is 2 2 f e 4 4 both are the same one address is directly printed and the other one is p because we have already stored one address in p p already has one address and one address is directly printed so both are the same then value of a through p so we have used asterisk p so what is asterisk p doing? call it to the value of a so basically the star we are using means value at address so if you have an address and you have put a star in front of it then call it to the value of that address so I hope now you understand the basic of pointer we use %p to print address and %d to print value and even if you are doubtful then I have shared my details with you you can talk to me because this is a different topic it can be that you have doubts in your mind so you can discuss it now let's move ahead now here is the calculation so these two statements are the same we have added a new statement here and printf is the same now let's see what happens let's go to our code now let's add one more line a equals to a plus asterisk p and we have to print two things so I am going to comment them they will not execute us we will only print a and p so what is the current value of a? 5 and asterisk p I have already told you p has one address and what asterisk will do? it will give value to that address so p has an address of a so what is the address of a? 5 plus 5 and what will be the new value of a? 10 so a will print 10 now let's see what asterisk p will print so let's run it first so that you will understand what is coming in the output a is 10 and p is 10 you must be thinking that a is 10 but how did p become 10? p was 5 asterisk p was printing 5 so let's go back to the diagram see this is the current situation a is 5 the address of a is p so the statement we have written a equals to a plus asterisk p so a has given 5 plus if we write asterisk p so this was star and 101 so what is the current value of star 101? what is the current value of 101? 5 so 5 plus what is written here? 5 because what is the current value of 101? 5 so 5 plus 5 is 10 and in which sign is 10? a so what is the new value of a? 5 is 10 so when a has 10 so what is the value of 101? 10 now when we have printed a so a has printed 10 when we want to print asterisk p so what will it make? asterisk p means asterisk and the address of p what is the address of p? 101 so we have to solve asterisk 101 so value at 101 so see what is the current value of 101? 101's current value is 10 5 is lost 5 is erased and its current value is 10 so it means asterisk p will print the updated value so what is the conclusion? if a is modifying its value if a is modifying its value so the address of a will use modified value only can it be that a has 10 but 101 still has 5 because both have to point the same memory location so it means if in the variable you make any changes through its name so the address will use modified value only so when we have written asterisk p so p has patched the value of 101 so what is the current value of 101? 10 so the output in both the cases is 10 so now let's see one more example here also two statements are the same but now we have written asterisk p equals to asterisk p plus a so let's solve this now let's see in this the memory location we will not modify it through the name of the variable we will modify it through its address so again you have to keep in mind if any location is modified through its address so the name of the variable will also use modified value only so now we have to solve this so let's run it first so again you will see that the output is 1010 so now let's solve it so asterisk p means asterisk 101 so we don't need to write that so asterisk v means asterisk 101 so what is the value of 101? 5 so 5 plus a how much is it? 5 5 plus 5 10 so what is asterisk p? asterisk p means asterisk 101 means 10 is stored in the value of 101 so what is the value of 101? 5 5 will be gone and what will happen now? 10 so when you will print anything from asterisk p so it will print 10 now let's see what will a print so you see the value of 101 is 10 so what is the current value of a? 10 because 5 has been erased so now we have modified this memory location through pointer so the name of the variable will use the modified value so the output in both the cases will be 1010 so I hope you have understood this I have tried to understand theoretically and practically through the diagram but if you still have doubts then you can discuss with me so we have covered these two points now I will tell you by implementing a program sum of two numbers using pointer so till now you must have understood that we can store the address of any variable in the pointer and through the pointer we can access the value of the variable and modify it now let's give a small example so that your doubts are clear let's remove these now you must have understood this you can also implement this you can also implement this you made a pointer in a you have a safe address and I added 1 in asterisk p so now if we print a and asterisk p then what will be the output if you have removed the output 6 and 6 then you have understood otherwise you will have doubts so why 6? because asterisk p has pointed only one location a has 5 5 plus 1 is 6 so this will assign 6 on the address of a so when the value of the address of a is 6 then what will a print 6 will print so when you execute it then what will be the output so it means when you assign the address of the variable in the pointer then you can control the location of the variable so now let's make a program for example we have two variables using pointer so this is a5 b10 now you can also use pointer asterisk p1 asterisk p2 and asterisk p3 then write p1 equals to address of a p2 equals to address of b p3 equals to address of so p1 has one address p2 has address of b p3 has address of c it means p1, p2, p3 through a, b, c the memory location is respectively you can also access the values and modify them so now what you will write here asterisk p3 equals to asterisk p1 asterisk p2 so when we write on the right side of equals to then the value is fetched asterisk p1 equals to value at address which is stored in p1 so in p1 whose address is a so whose value is a so what you will get is 5 then asterisk p2 asterisk means value at address whose address is stored in p2 in p2 whose address is b and its value is 10 so asterisk p1 equals to a value is fetched asterisk p2 equals to b so what you will write here asterisk p3 asterisk p3 has address of c so whose value will be reached in c now see I will not print p1, p2, p3 I will print c sum equals to percent c now see input a, b, c through them then we have signed the address calculation we are doing through pointer but what I am doing in print is c I did not assign anything directly in c through whom I am assigning asterisk p3 so when I run it and show your output in front of you it will be 15 print sum equals to 15 so we did not directly manage the variable through its address we managed it through the help of pointer so I hope now you have understood the basics now let us move on now let us do the swapping of two numbers using pointer so let us perform the swapping so in the swapping the addition statement will be removed p1, p2, p3 has a, b, c there are three variables they have an address so now let us do the swapping then we use for swapping without third pointer see the swapping of two variables without using third variable but using pointer so see the value of a and b will be swept through pointer not directly so we have assigned 510 in a and b we have made two pointers the address of a and b now see the normal logic is a equals to a plus b so now how will you change it asterisk p1 because the value of a through p1 pointer you have to write asterisk p1 then again asterisk p1 plus asterisk p2 what will you write for b's value asterisk p2 now the next statement a equals to first statement a equals to a plus b second statement b equals to a minus b and then a equals to a minus b so 5 plus 10 here 15 15 minus 10 here 5 and 15 minus 10 here 5 so now we have to solve the second statement so what will be the second statement asterisk p2 equals to asterisk p1 minus asterisk p2 and third statement asterisk p1 equals to asterisk asterisk p1 minus asterisk p2 and this is the upper line remove it now print here a equals to d comma b equals d a comma b so see the logic of swapping we have used p1 p2 pointers in the logic of swapping we have not used a b anywhere but we are printing a and b so you will see through pointers we have accessed and modified a and b so it is written on the left hand side so it is modified so value is patched now we will execute it so you will see a is printing 10 and b is 5 and you can see here initially a was 5 and b was 10 so we have modified the values of pointers so till here you have understood now we will talk about pointer to pointer so that is also very simple this is a diagram a, p and q so a will be variable, p will be pointer and q will be pointer to pointer so basically pointer to pointer pointer to pointer if you want to store pointer then you have to make pointer to pointer so we will make a pointer to pointer to pointer so we have made a variable pointer p pointer to pointer to pointer q so when you make pointer to pointer you will have to use 2 stars so here p is pointer and q is pointer to pointer so p equals to address of a so p is pointer so it will hold a variable and q will hold p pointer so in the diagram you can see a is address 101 value 5 p is value 101 address 201 and p address 201 is value of q and q address 301 so in this way you can go to any depth of hierarchy if you want to store pointer to pointer then you can declare pointer to pointer to pointer and r equals to address of q but it is not required till these 2 labels you will have to use now if we print values a %d, %d %d so if we write a then 5 will come a is address p and a is address q so this is basically what we write as address this is value address and this is basically called as d reference so here we are assigning d reference and when a is address q sorry a is address p or double a is address q then this will be called as d reference so a is address p then you may be able to understand value at address address which is stored in p so that is address value so if we look at this diagram so in the diagram see what is address in p and what is value in p so now we have to solve this address q so if we take q value q value is 201 so here we have written 201 now solve this what is written inside the bracket what is written inside the bracket first solve this address 201 means value at 201 so value at 201 what happened 101 so if we solve this it will give you 101 means asterisk 201 and now one star is left so asterisk 101 means value at 101 so value at 101 how much is it? 5 so it means when you write asterisk asterisk q then what will it give you? 5 so this means when I run it then what should be printed 3 times 5 you can see this 5,5,5 a printed 5 asterisk p printed 5 asterisk asterisk q printed 5 so in this way you can assign a variable address in pointer and then you can manage any location now let's talk about area of pointer so if you have many pointers and you want to store only one pointer then you can make it area of pointer now let's take it now we have variables a5,b6,e7 this is the variable and I will make it area of pointer so you have already studied area of pointer so we have made integer area we have made character area now I am making area of pointer because we have used asterisk so this is area of pointer now if you want to store value then what you will write p0 equals to address of a p1 equals to address of b and p2 equals to address of c now if you have all address near p0 then you can process their values through p pointer now let's run a loop i equals to 0 i less than 3 i plus plus now let's sum it up s equals to s plus asterisk p of i see who will have address of a so you have de-referenced it and you have added it to s so here i and s have been de-referenced after the loop is over we have printed the value of s sum equals to %d s okay so 5, 6, 7 if we add 5, 6, 7 then 6 plus 5, 11 plus 7, 18 so you have seen that this addition operation you have solved only one area of pointer you don't need to write variables again and again this is a method that you can use see 18 is the answer so you should know that we can make the area of pointers now let's talk about next topic after that i will tell you some important points so what is the void pointer let's see so for this we have made a variable second variable float till now i have made integer, pointer but if you have float then you have to make pointer, float type so that we can store the address so what happens is the type of variable integer, float, different variables you have to make the pointer so what is void pointer void pointer says don't make different pointers for type you just make one pointer and the type of value sorry the variable address you want to store it but while processing the value you can typecast it so that you get the proper output so now let's do that so now we don't make different pointers here let's make one pointer void pointer p now look in p i have stored address of a in e i have stored address of a and whenever we store any variable then it is base address it doesn't know how many addresses are available so that thing is known as pointer type so if integer is pointer then it will process 2 or 4 byte as per compiler version like 16 bit or 32 bit if it is float pointer then it will process 1 byte so it depends on pointer type but what is pointer type void is not specific type it is generic type so when we print the value of a through e pointer then we have to use typecasting so what is that I have written %d so here I am writing a equals to %d now we have to print p now what we will write asterisk p but we have to tell what is the data type of p because p is the same type p doesn't know what type of pointer so what you have to write in bracket is integer pointer one more bracket then you have to write this statement so p is a pointer which we have cast in integer pointer and then we have to patch the value through r so this is asterisk it is telling that p is a pointer type okay now if we go ahead we have written p equals to address of b so what is the address of p now what is the address of p it is b variable and what is b variable so now we have to tell p again that you are a float pointer so what you have to do is you have to print the value of float so you have to copy it and here you have to write b equals to %f and now what you have to write data type is float so you can see this way that you have to declare p pointer as void and the void pointer will hold the address of a variable and the p pointer will hold so what you have to do is you have to tell that what type of pointer means what type of value you have to process it now you will see the values we have assigned through pointer we have to print a and b but we have not used a and b we have assigned the addresses of a and b to the pointer and printed it friends in this way I have explained all the points so there are some things that you should know about the basic pointer now we will talk points to remember so pointer always hold address of a variable so first point is clear pointer only stores base address of a memory location 8 variables 2 bytes 4 bytes, 1 byte depending on its data type but pointer always stores the base address beginning address then we can declare any type of pointer sorry we can declare pointer of any data type which I have already said that we can declare any type of pointer so integer variable so integer pointer float variable so float pointer and if you want to make a common pointer then you can do that but in that case you have to typecast that the variable address is integer variable float variable and last point is pointer dereferences an address according to its data type so the second point is that pointer got base address so how did the pointer know how much bytes it has to get and how it knows its own data type so that is why we have used void pointer so when we told that it is integer pointer P is integer pointer so P had beginning address so how much bytes it got how did it know that when it made integer type that it got 2 bytes on 16 bit so it got 2 bytes on 32 bit so it got 4 bytes on 4 bytes so it got 4 bytes on 32 bit and float always gets 4 bytes so it got 4 addresses so that is why pointer type is very important so when someone asks you if we can make a different type of pointer then you will answer yes you will ask why so you will say that pointer always gets beginning or base address so how many bytes dereferences it got how it will know so that pointer identifies so in this pointer dereferences and address according to its data type this is the reason we have to declare different type of pointer so in this way after doing this I have cleared all the points now on pointer you will get one more video which is lecture number 23 in which we will relate pointer with area string or structure so watch that video and you will get the playlist link of the entire video series in the description of this video so I hope that you are enjoying the video series so watch the complete series so that if you are a beginner you understand C programming and your interest in programming so thank you for watching this video


Hey guys, I get a lot of questions on hey, what's the best way to build a script? What's the best script available? I'm gonna give you a couple of small nuggets on how to build a calling script I don't care if you're calling for PNC file expense life mortgage protection Medicare whether you're sitting appointments whether you're teleselling these are some things that need to be in your script Number one you need to gain control a lot of scripts will say hey How are you? Hey, my name is Cody. How are you doing today when you're asking how you're doing today? Number one you sound like a telemarketer what? Telemarketer or call center that calls you doesn't say how are you doing today? So let's let's X that so Let's not say that so what we want to do is because when you say hey How are you doing today? Not only are you selling a telemarketer? But also you're giving control back to the customer what we've noticed after thousands of calls listening the recordings is You want to be in control and you don't want to pause What I've learned a lot is that if you pause you give the customer the consumer a chance to say hey I'm not interested call me back My house is on fire. I don't want to talk whatever it is or I'm not interested. It doesn't matter They are going to insert something to throw you off you say hey, I'm from the insurance group Who's the insurance group? Where you at? What's your name again? Like like they're gonna ask something that is irrelevant is going to throw you off So what we've been doing whether it's appointment setting calling Tele-selling doesn't matter training or training agents that doesn't matter. We are saying hey My name is Cody. I'm with this you recently responded about this. I'm calling because of this I Need your date of birth place. We're jumping in we're asking a question because the core parts of a script needs to have you Jumping in and saying hey to be sure I'm not wasting your time or I'm calling because the reason I'm calling John is hey You responded online you gave us your favorite hobby which is to prove that we're not a telemarketer Even if it doesn't sound scripty, that's okay like hey, buddy to let you know that I'm not just a random telemarketer You put that you like to fish. I wouldn't know that unless you put it in so that's why I'm calling and to be sure I'm not wasting your time. We're gonna be in your area on Thursday. You requested this information I need to get it to you. So should we drop it off on what's normally better like mornings or afternoons? So it gets control it states Hey, this is why we're calling to be sure when I wasted your time and then it has an ask a close a Question the psychology of sales is if you don't ask a question They will remain in control so to make sure that you're in control You're asking questions. They're answering you stay in control quit Paul's in quit ask people how they're doing Tell them get in control. Tell them assume. They're gonna let you get everything out Assume that when they hear everything it's gonna make more sense Assume that they're not gonna say I'm not interested and assume that when you get to the end of the script They're ready to answer your question. These are some small key things that I think about when I think about scripts So when you build your next script when you make make your next call Think about this implement these things and I promise it will help you want to keep seeing all of these videos Make sure I'm gonna I'm gonna ask one thing Click subscribe below right now, please. I love it. I love seeing our subscriber count grow when it grows by the Dozens every single day. We're here to help. Thanks for watching appreciate you