Dx map

From relax wiki
Jump to navigation Jump to search

Code to generate

help(dx.map)

from pipe_control.mol_res_spin import return_spin, spin_loop

for cur_spin, mol_name, resi, resn, spin_id in spin_loop(full_info=True, return_id=True, skip_desel=True):
    file_name = "map%s" % (cur_spin_id .replace('#', '_').replace(':', '_').replace('@', '_'))
    dx.map(params=['dw', 'pA', 'kex'], map_type='Iso3D', spin_id=":1@N", inc=70, lower=None, upper=None, axis_incs=5, file_prefix=file_name, dir=ds.resdir, point=None, point_file='point', remap=None)
    #vp_exec:  A flag specifying whether to execute the visual program automatically at start-up.
    dx.execute(file_prefix=file_name, dir=ds.resdir, dx_exe='dx', vp_exec=True)

How to use dx

  • Run 'dx',
  • Click on 'Edit Visual Programs...',
  • Select the map.net program created by relax,
  • Select the menu entry 'Execute->Execute on change'.

That's it.

You now have a 3D frame, but nothing in it.
Therefore the contour levels must be too low or high.
From the map file, the values are in the hundreds of thousands.

Then:

  • In the main program window, double click on the 'Isosurface elements'.
  • Change the values until you see surfaces. In the first the value is 500. I changed this to 500,000.
  • In the second, 100 -> 100,000.
  • In the third, 20 -> 20,000.
  • In the last, 7 -> 7,000.

This should maybe be performed by the dx.map user function, determining reasonable contour levels.

With a bit of zooming, clicking on 'File -> Save image' in the "Surface" window, "allowing rendering", and outputting to a large TIFF file, "save current", then "apply".

An example image cropped and converted to PNG in the GIMP at
https://gna.org/bugs/download.php?file_id=20641.

Note that for a good resolution plot, you will need many more increments.
Using the lower and upper dx.map arguments will be useful to zoom into the space.

See also