Atom not interpolated error when using do_global_fitting from multifit
Hello,
I have been using do_global_fitting function to fit a PDB into an EM map. I'm getting tons of warnings in the stdout such as :
WARNING particle:Atom C of residue 52 is not interpolated WARNING particle:Atom O of residue 52 is not interpolated WARNING particle:Atom N of residue 53 is not interpolated WARNING particle:Atom C of residue 40 is not interpolated WARNING particle:Atom O of residue 40 is not interpolated WARNING particle:Atom N of residue 41 is not interpolated WARNING particle:Atom CA of residue 41 is not interpolated
According to my understanding this means that the PDB is located outside the bounding box of the EM-file - is that true?
Hows does the algorithm decide with which respective translations to test the fitting?
Why doesn't the algorithm just move the the protein's center of mass to the center of the EM file, before starting the processing? Should I do that manually?
Thank you, Dany
Hi,
If you look to the do_global_fitting code you will see that basically it runs do_local_fitting with max_trans calculated based on the size of the box around EM map: FFTFittingOutput *FFTFitting::do_global_fitting(em::DensityMap *dmap, double density_threshold, atom::Hierarchy mol2fit, double angle_sampling_interval_rad, int num_fits_to_report, double max_clustering_translation, double max_clustering_angle, bool cluster_fits, int num_angle_per_voxel, const std::string &angles_filename){ algebra::BoundingBox3D bb = em::get_bounding_box(dmap); algebra::Vector3D b1,b2; b1=bb.get_corner(0); b2=bb.get_corner(1); double max_trans=std::max(1.2*(b2[0]-b1[0]), 1.2*(b2[1]-b1[1])); max_trans=std::max(max_trans, 1.2*(b2[2]-b2[2])); return do_local_fitting(dmap, density_threshold, mol2fit, angle_sampling_interval_rad, IMP::PI, max_trans, num_fits_to_report, cluster_fits, num_angle_per_voxel, max_clustering_translation, max_clustering_angle, angles_filename);
So, if your PDB structure is close enough the map, it may reach the map within max_trans distance at some point, and the fit will work. If it is too far away, it will fail. I think it could be considered as a bug, especially that if may affect the whole MultiFit application (I was able to get 'No fits found' by fit_fft step of MulitFit by moving a protein far away from the map).
For the time being, just move your protein to the center of the map. I am not sure if it makes sense to report the problem, MultiFit doesn't seem to be currently being developed, at least not in the official imp github repo ( https://github.com/salilab/imp/tree/develop/modules/multifit).
I hope it helps, Jan
On 07/15/2013 09:26 AM, Dan Cohen wrote: > Hello, > > I have been using do_global_fitting function to fit a PDB into an EM map. > I'm getting tons of warnings in the stdout such as : > > WARNING particle:Atom C of residue 52 is not interpolated > WARNING particle:Atom O of residue 52 is not interpolated > WARNING particle:Atom N of residue 53 is not interpolated > WARNING particle:Atom C of residue 40 is not interpolated > WARNING particle:Atom O of residue 40 is not interpolated > WARNING particle:Atom N of residue 41 is not interpolated > WARNING particle:Atom CA of residue 41 is not interpolated > > According to my understanding this means that the PDB is located > outside the > bounding box of the EM-file - is that true? > > Hows does the algorithm decide with which respective translations to > test the fitting? > > Why doesn't the algorithm just move the the protein's center of mass > to the center of the EM > file, before starting the processing? Should I do that manually? > > Thank you, > Dany > > > > _______________________________________________ > IMP-users mailing list > IMP-users@salilab.org > https://salilab.org/mailman/listinfo/imp-users
Thank you very much for your answer!
On 24 July 2013 19:59, Jan Kosinski kosinski@embl.de wrote:
> Hi, > > If you look to the do_global_fitting code you will see that basically it > runs do_local_fitting with max_trans calculated based on the size of the > box around EM map: > FFTFittingOutput *FFTFitting::do_global_fitting(em::DensityMap *dmap, > double density_threshold, > atom::Hierarchy mol2fit, > double angle_sampling_interval_rad, > int num_fits_to_report, > double max_clustering_translation, > double max_clustering_angle, > bool cluster_fits, > int num_angle_per_voxel, > const std::string &angles_filename){ > algebra::BoundingBox3D bb = em::get_bounding_box(dmap); > algebra::Vector3D b1,b2; > b1=bb.get_corner(0); > b2=bb.get_corner(1); > double max_trans=std::max(1.2*(b2[0]-b1[0]), > 1.2*(b2[1]-b1[1])); > max_trans=std::max(max_trans, > 1.2*(b2[2]-b2[2])); > return do_local_fitting(dmap, density_threshold, > mol2fit, > angle_sampling_interval_rad, > IMP::PI, max_trans, num_fits_to_report, > cluster_fits, > num_angle_per_voxel, > max_clustering_translation, max_clustering_angle, > angles_filename); > > So, if your PDB structure is close enough the map, it may reach the map > within max_trans distance at some point, and the fit will work. If it is > too far away, it will fail. I think it could be considered as a bug, > especially that if may affect the whole MultiFit application (I was able to > get 'No fits found' by fit_fft step of MulitFit by moving a protein far > away from the map). > > For the time being, just move your protein to the center of the map. I am > not sure if it makes sense to report the problem, MultiFit doesn't seem to > be currently being developed, at least not in the official imp github repo > ( https://github.com/salilab/imp/tree/develop/modules/multifit). > > I hope it helps, > Jan > > > On 07/15/2013 09:26 AM, Dan Cohen wrote: > > Hello, > > I have been using do_global_fitting function to fit a PDB into an EM map. > I'm getting tons of warnings in the stdout such as : > > WARNING particle:Atom C of residue 52 is not interpolated > WARNING particle:Atom O of residue 52 is not interpolated > WARNING particle:Atom N of residue 53 is not interpolated > WARNING particle:Atom C of residue 40 is not interpolated > WARNING particle:Atom O of residue 40 is not interpolated > WARNING particle:Atom N of residue 41 is not interpolated > WARNING particle:Atom CA of residue 41 is not interpolated > > According to my understanding this means that the PDB is located outside > the > bounding box of the EM-file - is that true? > > Hows does the algorithm decide with which respective translations to test > the fitting? > > Why doesn't the algorithm just move the the protein's center of mass to > the center of the EM > file, before starting the processing? Should I do that manually? > > Thank you, > Dany > > > > _______________________________________________ > IMP-users mailing listIMP-users@salilab.orghttps://salilab.org/mailman/listinfo/imp-users > > > > -- > Jan Kosinski, PhD > Structural and Computational Biology Unit > European Molecular Biology Laboratory (EMBL) > Meyerhofstrasse 1 > 69117 Heidelberg > Germany > > > _______________________________________________ > IMP-users mailing list > IMP-users@salilab.org > https://salilab.org/mailman/listinfo/imp-users > >
participants (2)
-
Dan Cohen
-
Jan Kosinski