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))))

))

Reply via email to