[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[modeller_usage] Re: Reconstruction of CA position only files with all-atom template



On 11/12/24 1:55 PM, jingkaizeng via modeller_usage wrote:
> Here is my task: I have some CA position only files of a protein of 
> interested that underlying some important biological pathways. We also 
> have the protein full Cryo-EM structures (pdb:8io4, the exact same 
> protein as well as sequence as the CA only files). Then I would like to 
> fill the keep the CA position only files' CA position (don't move at 
> all) then reconstruct the detail like side chain/secondary structure 
> information from template.

I'm not aware of anybody using Modeller to do this, and it might not 
make sense - for example if the two structures are very different - but 
it should be possible.

> I searched from previous mail list, and I found one did this task but 
> not based on template. https://www.salilab.org/archives/ 
> modeller_usage/2008/msg00285.html

That solution uses a CA-only structure as a 100% identical template to 
build a comparative model. Since there are no sidechains in the 
template, Modeller will construct those from internal coordinates and 
use the CHARMM forcefield to optimize them. So that's not what you want 
because it's not going to use your Cryo-EM structure.

> I tried some methods that use the template Cryo-EM structure, but it 
> seems we just do the homology modeling but NOT reconstruction. The 
> production files we get is almost same as the template without make use 
> of the CA position from CA only files. The code I used like :

 From reading your script it looks like you are trying to build a model 
using the Cryo-EM structure as a template, restraining the CA atoms to 
their "seed" values. That might work but you have a bug in your script:

> # Apply restraints to the selected Cα atoms
> for atom in atmsel:
>              rsr.add(forms.Gaussian(group=physical.xy_distance,
> feature=features.Distance(atom, atom),
> mean=0.0, # No change in CA positions
> stdev=0.01))

features.Distance restrains the distance between two atoms. The distance 
between an atom and itself is always going to be zero, so this restraint 
will have no effect. That's why your output models don't look any 
different. If you do want to use this approach you can do it in Modeller 
using absolute position restraints, see
https://salilab.org/modeller/10.6/manual/node109.html

You would want something like

for atom in atmsel:
     rsr.add(forms.Gaussian(
         group=physical.xy_distance,
         feature=features.XCoordinate(atom),
         mean=<x coordinate of atom in seed>,
         stdev=0.01))

Of course you would need to get the desired coordinates of each atom 
from the seed structure, and repeat this for the y and z coordinates.

Note though that like any restraint, your "CA position restraints" can 
be violated, so the CA atoms won't be exactly where they are in the seed 
structure. If you don't want them to move at all, you can achieve that 
by building a model using the Cryo-EM structure as a template, using 
your seed structure plus reconstructed side chains (from your first 
attempt) as an initial model (as per 
https://salilab.org/modeller/10.6/manual/node27.html) and then 
overriding select_atoms to only move non-CA atoms as per 
https://salilab.org/modeller/10.6/manual/node23.html. The resulting 
model will probably contain a lot of violations though (since the 
distance restraints will be based on the Cryo-EM structure but you are 
forcing it to use the seed structure CA coordinates). These could 
probably be lessened by removing some or all of the mainchain atoms from 
your Cryo-EM template (so that Modeller does not generate restraints on 
them). But likely the resulting structures will need further refinement.

	Ben Webb, Modeller Caretaker
-- 
             https://salilab.org/modeller/
Modeller mail list: https://salilab.org/mailman/listinfo/modeller_usage