Hi Paul (and everyone I guess),
To elaborate on a few things: *Actually 0.17 was quite generous* I think it is a good cutoff. Any higher and you can get away with many things. I am probably missing something major though since I have not modelled X-ray data before. I'll see if someone in my lab can point out something obvious. *Set the map in the refmac gui.* If you click the "Run Refmac" button and preset the map from the tutorial saves a few clicks during the run as it remembers. *200! wow - interesting.* I found that it is easier to place everything faster with higher weight. It becomes much more snappy. *auto-fit rotamer does that for you* Yeah, I know the auto-fit. I have r bound to a small python function that gets the active residue and executes set_residue_to_rotamer_number with a counter going through the rotamers. Second rotamer would be r,r without need for accepting. * CYS placement routinely interchanges the main chain and the side chain positions* Usually does that for me as well, needs a quick flick. *It's OK to know that the ligand is at the end of residue A 41.* This is just the fastest way I found to go to the rough center of the density. I guess Ctrl+G and quickly typing A/41 would be quite fast but then you would also have to translate to the center of the density. Key binds, further comments; "e" My e key is bound to accept_moving_atoms() which I think is a bit of a hack, it's very fast though and can interrupt most refinements immediately. "shift+1,2,3" The usage is such that shift+1 calls user_defined_click which then gets the user input, calculates the desired range and calls refine_zone. z,Z and x,X It the latest addition for the speedrun to avoid manual translations with the mouse and lengthy goto procedures. I wanted to extend the script called when pressing space but I couldn't figure it out on github. I found the sinusoidal acceleration code in graphics-info.h but could never find what calls those types of functions in the terms of the spacebar function! So I hacked it by just calling set_go_to_atom_chain_residue_atom_name with parameters from active_residue "a" "y" is so far though! I also have set_add_terminal_residue_do_post_refine(1) and set_add_terminal_residue_immediate_addition(0) to get it a bit more smooth to use. you can hammer a,e,a,e,a,e to place 3 residues quickly. Iterating do_add_terminal_residue and accept_moving_atoms is a bit unstable though so i just manually perform the operation three times. Here it also helps with backups off, although for small molecules the delay is barely noticeable. "r" as mentioned r calls set_residue_to_rotamer_number with a predefined cyclic counter allowing you to cycle without accepting. "q" similar to shift+1,2,3 q calls user_deinfed_click to get the start of the range. Then you get a generic_single_entry item where you paste the sequence. Mutation is done by mutate_residue_range. "t" I use placeLIG() here after a generic_single_entry popup. the full operation becomes; t, type 3GP, hit enter, R, quick mouse movement, e. Best, Victor On Mon, Jan 4, 2021 at 5:03 PM Paul Emsley <[email protected]> wrote: > > On 04/01/2021 10:42, Victor Tobiasson wrote: > > > > Time to join the party, a bit late perhaps but christmas got in the way! > > > I will mention the speedrun in my presentation tomorrow and hopefully that > may spark a bit of interest. So there are a few days left. I haven't set a > date, maybe 14 Jan. > > > First of all, great challenge Paul! It was really fun to try to push my > time and I finally got around to implement some scripting which I put off > as well. > > > My first attempt without prior information (except the extension sequence > and the fact there are three ligands) ~10 min. I have little to no > experience with modelling X-ray data though so it took a long time to get > subsequent runs to regularly meet the validation metrics. Below is a short > outline of my experience so far. > > Strategy and approach: > > I am using coot via the ccpem 1.5.0 stable release for comparison. I don't > use any more advanced scripts but have several key bindings set for > minimising clicks and mouse micro. > > :-) quite necessary. > > > The general strategy revolves around simply performing the minimal amount > of edits and inputs required to meet the requirements as fast as possible. > I try not to move the center of rotation or the view manually with the > mouse, at some places it's required or faster to do so but I try to avoid > it. The general approach of things to fix are as follows. > > To Do: Fix the rotamers Gln/32, Asp/33 and Phe/89. > > That's interesting. Actually 0.17 was quite generous and one need not, in > fact, fix up 32, 33 or 25 to get down there. > > > > Add alternative conformations to Asp/25. Delete the stub and add Cys/72 > with alternative conformations. > > 72 is deliberately annoying because it is unlike a simple mutation. Ctrl-D > for delete residue is a help here. And then Add Terminal residue and fast > mutate. > > > Remodel Arg/40 including backbone and rotamers. > > Nice, but not needed. > > > Add terminal residues QTC. Add OXT oxygents to both chains. Add two SO4 > ligands and the 3GP. Add waters with and RMSD of 1.3 with default > distances. > > 1) Preparations: Open the 'Other modelling tools' panel and load and > place the "accept refinement" popup far away from the main gui, it gets in > the way. > > Yes, it does. I don't know why it sometimes resets to centred (I dug > around the code for a day and gave up). > > > Set the map in the refmac gui. > > Interesting comment. I wonder what you mean by it. The refmac gui that I > use allows me to set the model and the data mtz file. > > And turn on all restraints in the R/RC menu, set the weight to 200. > > 200! wow - interesting. > > > > 2) Manual edits: Run the script and immediately hit space to center on > A/1. Navigate down the chain to Asp/25 and add an altconf in the most > common rotamer. Further translate until Gln/32-Asp/33, refine and place the > side chains manually as they dont match the rotamers very well (correct map > weight is key here). Accept and continue to Arg/40, refine and flip the > carbonyl. With the right flick the rotamers will fix themselves. Got to > Cys/72, delete it and add a new residue as well as the alternative > conformation. Go to Phe/89 and go for the third rotamer. > > auto-fit rotamer does that for you - I didn't know the rotamer number. > > Translate to the end of the chain and add 3 terminals resudies, serially > mutate to QTC. > > That's what I do. > > Navigate to the end and change the cys rotamer. > > For me, the CYS placement routinely interchanges the main chain and the > side chain positions. Interesting that you don't find the same (I presume). > > > Add OXT for chain A and then B though the other modelling tools panel (you > could script adding OXT to all but felt that was cheating). > > If I am allowed to arbitrate on what is cheating, then a function for "Add > OXT to residue 96" is cheating, but "Add OXT to current residue" is not, > "Add OXT to the same residue number as the current residue number for all > chains that have the same sequence" is not cheating either (it is esoteric, > no doubt and not what I did). The different being functions that are > tailored to this structure, as opposed to those that might be useful for > other structures. > > Also, I used "NCS Other chain" to get to the B96 (more on that later). > > > > 3) Heteroatoms: Open the validate panel and find unmodeled blobs. > > > It's OK to know that the ligand is at the end of residue A 41. > > > Go to the first blob and place the 3GP (here I orient the density before > placing as to get the default ligand orientation correct for the purine). > > > The orientation of the added ligand, if you add it with "Get Monomer," > doesn't depend on the orientation of the view. > > > Quickly refine and fit the phosphate manually. > > A speed up here (I think) is, before activating refinement, to select an > orientation of the ligand, where both the phosphate and the base are > misplaced, but, with refinement, they both fall into their respective > densities. I used Ctrl-Arrow keys and Shift Ctrl Arrow keys to do that. > > For me, reorienting the ribose was a major part of fitting the ligand. > Interesting that you don't mention it. > > > Go to the second blob and place SO4. Manually shift the view > > > "Manually shift the view" I wonder what you mean by that. You can use "O" > ("Other NCS chain") to jump to the same position in the B-chain, add your > SO4 there and jump back (again, with "O" (because there are 2 chains)). > > > to center on the second SO4 and place it. Click "Find waters..." and > change the threshold to 1.3 (most consistent R/Rfree for me without manual > intervention) and then run. > > 4) Cleanup: Merge all the ligand chains, > > > For best speed, I merge before running Refmac. > > > sphere refine the entire molecule for ~1-2 seconds and run refmac. > (Optional: curse refmac and or yourself for mistakes and time lost) > > > One thing that this challenge made clear to me is how annoying it was to > have the GUI freeze while running refmac. I will fix that. > > > > The binds and custom settings I use are the following (roughly following > most to least important for this challenge): > > e = accept regularization > > Return does this (or not?) > > !/@/# (SHIFT+1 2 or 3 depending on keyboard layout this changes) = real > space refine zone 3, 7 or 21 residues. > > This is a great idea. It's something like the fast selection expansion in > Chimera (but tailored for Coot). > > z and x = shift 5 residues along the chain (space * 5) > > Ctrl-u 5 M-x space - haha! OK, nice one. > > Z and X = shift to the beginning or end of the chain > > That is generally useful, in the speed run we can just jump to the > problems. > > a = add terminal residue > > We have "y" in the standard key-bindings set - and that is expanded upon > in the Elaborated Add Terminal Residue in Curlew > > r = cycle through rotamers > > OK, is that in "intermediate atoms mode" or standard representation? (I > had not thought of the latter). > > R = sphere refine (specifically for this challenge I set the radius to 200 > to get everything) > > We have Chain Refine in Curlew (Shift E). There is no key binding for "All > atom refine" - but there is a menu item. > > t = place ligand from library > > OK, that would be a speed-up. I use Alt F and then down-arrow 6 times. > > q = mutate chain to sequence > > And that too? Not sure how you use it - because you'd have to have the > sequence somewhere - or do you mean a residue range? > > > > > With this setup and my preliminary route I have tried perhaps a dozen > times seriously and gotten varying results. Initially times would hover > around 3 minutes and then steadily decrease as I made fewer mistakes. So > far my fastest times are; > > *Time (fastest accepted): 2 min 29 sec (R/Rfree: 0.170/0.1995) * > *Time (fastest overall): 1 min 42 sec (R/Rfree: 0.169/0.203)* > > Let's take the fastest accepted, because the passed the R-free test too. > > > The times are still very unrefined and I am not really happy with 2.29. > > Reviewing your comments, I think that you can go faster. > > > The big challenge is definitely pushing the Rfree low enough with the > rough edits I make. > > Yes, my fastest time is when I did the mods and added the ligand and only > ran Refmac right at the end. > > > I lose most runs around the 1.50 mark due to Rfree, I never go for second > refinements as it would be too slow > > Ah, I see. Makes sense. Similar to my strategy. > > > and It can definitely be done in one round. > > I agree. > > > I usually lose time when fixing the rotamers for Gln-Asp/32-33, > > Now you know that you don't need to. You can get a quicker drop in the > R-factors by adding more waters. Try 1.2 or 1.1. > > > they are super tricky to do fast and precise. > > > I think A32 is ligand-related partial occupancy (FWIW). > > > Also the orienting of the 3GP can be a bother sometimes. > > Yes. With the old version of the dictionary, it popped right in, but the > new one, at least in my hands, needs a ribose twist and this is compounded > by the dictionary not allowing JED-Flip on the glycosidic bond (which I > think might be/is an error, but I have not yet discussed it with my > colleagues). > > > Overall quick clean movements seems to be the way forward. I > believe times around 55 seconds are definitely possible for someone fast > with good mouse movement and macros. I still hesitate several times and > have to think about what to do next. I would be interested to see if any of > you routinely fix some significant mistake I miss! > > > Hahaha! Yes, I hesitate too "OK, that's done, now what?" I've tried to > memorize 89,41,72,93,63. > > > Paul > > > > ------------------------------ > > To unsubscribe from the COOT list, click the following link: > https://www.jiscmail.ac.uk/cgi-bin/WA-JISC.exe?SUBED1=COOT&A=1 > ######################################################################## To unsubscribe from the COOT list, click the following link: https://www.jiscmail.ac.uk/cgi-bin/WA-JISC.exe?SUBED1=COOT&A=1 This message was issued to members of www.jiscmail.ac.uk/COOT, a mailing list hosted by www.jiscmail.ac.uk, terms & conditions are available at https://www.jiscmail.ac.uk/policyandsecurity/
