On 29/12/13 02:51, Oliver Clarke wrote:
I agree that normally rigid body refinement of each chain wouldn’t be
very useful - I’m using this script in a situation where we have a
large complex of many subunits that we need to fit to a quite
low-resolution map (of a related complex from another species),
Sounds familiar :-) (... as may be apparent at the Study Weekend).
and an initial round of rigid body fitting seemed to be helpful on
individual chains but was quite laborious when performed manually for
each chain.
Eeek. Yes...
Also consider Jiggle Fit.
This script seemed to help with that, and I was adding morph_fit_chain
in the hope that it would correct errors in the curvature of helices,
or the orientation of two domains within a multi-domain protein.
OK, for the orientation of domains you need a larger radius, performed
on the chain. For the curvature of helices you need (I would imagine) a
smaller radius performed on a residue selection.
Yes, that was the problem - It works when I replace chain_id with ch_id.
good.
So you would suggest calling morph_chain several times in succession?
Definitely. That and the residue selection version.
That makes sense, because the modifications from one round were quite
subtle. I’ll give it a go with 5-10 rounds and see how it works.
Also, I found that fitting into blurred maps at the early stages (large
radius) was beneficial.
It is not yet clear to me what's the best relationship of the round
number, resolution, and the radii.
Paul.
(if (defined? 'coot-main-menubar)
(let ((menu (coot-menubar-menu "Morph")))
(add-simple-coot-menu-menuitem
menu "Morph Fit This Molecule"
(lambda ()
(using-active-atom
(morph-fit-all aa-imol 10))))
(add-simple-coot-menu-menuitem
menu "Morph Fit This Chain"
(lambda ()
(using-active-atom
(morph-fit-chain aa-imol aa-chain-id 10))))
(add-simple-coot-menu-menuitem
menu "Morph Fit This Region 12 9"
(lambda ()
(using-active-atom
(let ((central-residue (list aa-chain-id aa-res-no aa-ins-code)))
(let* ((other-residues (residues-near-residue aa-imol central-residue 12))
(morph-residues (cons central-residue other-residues)))
(morph-fit-residues aa-imol morph-residues 9))))))
(add-simple-coot-menu-menuitem
menu "Morph Fit This Region 8 6"
(lambda ()
(using-active-atom
(let ((central-residue (list aa-chain-id aa-res-no aa-ins-code)))
(let* ((other-residues (residues-near-residue aa-imol central-residue 8))
(morph-residues (cons central-residue other-residues)))
(morph-fit-residues aa-imol morph-residues 6))))))
(add-simple-coot-menu-menuitem
(add-simple-coot-menu-menuitem
menu "Jiggle-fit This Molecule"
(lambda ()
(using-active-atom
(fit-molecule-to-map-by-random-jiggle aa-imol 1000 2))))
))