[Chimera-users] marker coordinates

Thomas Goddard goddard at cgl.ucsf.edu
Mon Jan 26 16:13:52 PST 2009


Hi Giovanni,

   The call to save your individual maps would be like

	gv.write_file('/tmp/volume%d.mrc' % (i+1), format = 'mrc')

Allowed formats are mrc, dsn6 (O brix format), cmap (Chimera map format 
uses HDF5), or netcdf (Chimera only).

	Tom


Giovanni Cardone wrote:
> 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 at igbmc.u-strasbg.fr
>>
>> _______________________________________________
>> Chimera-users mailing list
>> Chimera-users at cgl.ucsf.edu
>> http://www.cgl.ucsf.edu/mailman/listinfo/chimera-users
> 
> _______________________________________________
> Chimera-users mailing list
> Chimera-users at cgl.ucsf.edu
> http://www.cgl.ucsf.edu/mailman/listinfo/chimera-users



More information about the Chimera-users mailing list