Fourier Maps in Superflip

In addition to the TOPAS Fourier map calculations and viewer, you can output information to calculate/view maps in other software.

The macro below was contributed by Lynne McCusker. It creates an input file for superflip to calculate an (Fobs-Fcalc) difference map. This can be output in a format (.xplor) that can be read by Chimera or Vesta. It can be executed with a simple “superflip file.inflip” command. The file.inflip will need minor editting to remove the quotation marks around the symmetry operators.

macro Out_Inflip(file)
' Prints a superflip input file to generate a difference Fourier map in xplor format'
' that can be viewed in Chimera'
' The command  'superflip file' will then produce a diffmap_phasename.xplor file'
	out file
	Out_String("title superflip difference map")
	Out(Get(phase_name), " %s")
	Out_String("\n\ndimension 3")
	Out_String("\nvoxel 112 56 40")
	Out(Get(a), " %10.5f")
   	Out(Get(b), " %10.5f")
   	Out(Get(c), " %10.5f")
   	Out(Get(al), " %10.5f")
   	Out(Get(be), " %10.5f")
   	Out(Get(ga), " %10.5f")
   	Out_String("\n 0 0 0")
   	Out(Get(sp_xyzs_txt),  "%s")    	
   	Out_String("\n\nperform fourier")
   	Out_String("\nterminal yes")
   	Out(Get(phase_name), "\n\noutputfile diffmap%s.xplor")
   	Out_String("\noutputformat xplor")
   	Out_String("\n\ndataformat a b")
 	phase_out file append load out_record out_fmt out_eqn
	"\n%4.0f" = H;
	"%4.0f"   = K;
	"%4.0f"   = L;
 	"%15.4f"  = ((A01-B11)/Sqrt((A01-B11)^2+(B01+A11)^2)) * (Sqrt(Iobs_no_scale_pks/(M*Get(scale))) - Sqrt((A01-B11)^2+(B01+A11)^2));  'A Fdiff'
 	"%15.4f"  = ((B01+A11)/Sqrt((A01-B11)^2+(B01+A11)^2)) * (Sqrt(Iobs_no_scale_pks/(M*Get(scale))) - Sqrt((A01-B11)^2+(B01+A11)^2));  'B Fdiff'
        out file append

Personal Tools