Re: [cctbxbb] Patterson map data structure
Any Fourier map without an F000 term will analytically have a mean value of 0.
Lynn
Connected by DROID on Verizon Wireless
-----Original message-----
From: Nathaniel Echols
rmap = pmap.real_map_unpadded() n_real = pmap.n_real() unit_cell = pmap.unit_cell() grid2cart = maptbx.grid2cart(n_real,unit_cell.orthogonalization_matrix())
n_points_total = n_real[0]*n_real[1]*n_real[2] cart_coord = flex.double(flex.grid(3,n_points_total)) p_weight = flex.double(n_points_total)
for plain_ind,grid_point in enumerate(flex.nested_loop(n_real)): cart_coord[0,plain_ind],cart_coord[1,plain_ind],cart_coord[2,plain_ind] = grid2cart(grid_point) p_weight[plain_ind] = rmap[grid_point]
There are better arrays for storing the coordinates, e.g.: cart_coord = flex.vec3_double(flex.grid(n_real)) p_weight = flex.double(rmap.size()) for plain_ind,grid_point in enumerate(flex.nested_loop(n_real)): cart_coord[grid_point] = grid2cart(grid_point) p_weight[plain_ind] = rmap[grid_point]
By the way, I noticed that many weights are negative, is this possible in a patterson map or am I doing something wrong?
This is normal - I believe it's a Fourier series termination error, but I still don't fully understand the reason. An Fobs map will have the same problem; the mean will always be approximately zero. Technically, if the map were perfect with no missing data, it would be uniformly positive, but that's never actually the case. There are ways to "fix" the map so it's all-positive, such as maximum entropy cleanup, but in practice I think we just ignore the negative values (at least for Fobs/2mFo-DFc maps - not sure how Patterson maps are usually handled). -Nat _______________________________________________ cctbxbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/cctbxbb
participants (1)
-
Ten Eyck, Lynn