Hi Gabor, here attached is a python script that I adapted from a pug-in that I am writing. You need to adjust the box size to your needs, then you can save it as a file and open it in Chimera. The script extracts subregions from the active volume, around only the selected markers. The subregions are visualized as separate maps, but they are not saved to file (can anyone contribute with that?). Since it uses a function (region_matrix) that has been recently modified, I can only guarantee that it works with the latest nightly builds (however, in the script there is a commented line that should work with version 1.2552). I hope it helps, Giovanni # ----------------------------------------------------------------------------- # Script to extract subregions around selected markers from the active volume # from chimera import selection from VolumeData import Array_Grid_Data from VolumeViewer import volume_from_grid_data, active_volume # box size around markers (pixels) boxSize = 10 region = active_volume() data = region.data for i,atom in enumerate(selection.currentAtoms()): coord = atom.coord() # calculate limits and extract subregions ijkcoord = map(lambda a: int(round(a)), data.xyz_to_ijk(coord)) ijk_size = [boxSize]*len(ijkcoord) ijk_min = map(lambda a,b: max(0,a-b/2), ijkcoord, ijk_size) ijk_size = map(lambda a,b,c,d: min(a-1,b+c/2)-d, data.size, ijkcoord, ijk_size, ijk_min) ijk_max = map(lambda a,b: a+b-1, ijk_min, ijk_size) new_origin = data.ijk_to_xyz(ijk_min) step = (1,1,1) r = (ijk_min, ijk_max, step) mtx = region.region_matrix(r) # version 1.2552 # mtx = region.region_matrix(origin = ijk_min, size = ijk_size, subsampling = (1,1,1), step = (1,1,1), read_matrix = True) # show selection name = region.name + (' (subregion %d) '%(i+1)) gg = Array_Grid_Data(mtx, new_origin, data.step, data.cell_angles, data.rotation, name = name) gv = volume_from_grid_data(gg, show_data = False) gv.copy_settings_from(region, copy_region = False) gv.show() On Jan 26, 2009, at 7:43 AM, Gabor Papai wrote:
Hi,
I would like to do the following: I placed markers on density spots. I want to get their coordinates and excise a box around the marked density and save it as a separate file. For this I would like to know how I can retrieve the coordinates of a marker set and possibly how to position exactly a box around a marker to set a subregion (and of course how to set the dimensions of that box). This second feature existed before, but disappeared in the latest releases with the subregion selection tool in the Volume Viewer. Thanks in advance, Gabor
-- Gabor Papai IGBMC Department of Structural Biology and Genomics 1, rue Laurent Fries, BP 10142 67404 Illkirch, France phone +33-3-88655748 Fax +33-3-88653201 E-mail: papai@igbmc.u-strasbg.fr
_______________________________________________ Chimera-users mailing list Chimera-users@cgl.ucsf.edu http://www.cgl.ucsf.edu/mailman/listinfo/chimera-users