Warning: Trying to access array offset on value of type null in /home/site/wwwroot/lib/plugins/move/action/rename.php on line 42

Warning: Cannot modify header information - headers already sent by (output started at /home/site/wwwroot/lib/plugins/move/action/rename.php:42) in /home/site/wwwroot/inc/common.php on line 1955

Warning: Cannot modify header information - headers already sent by (output started at /home/site/wwwroot/lib/plugins/move/action/rename.php:42) in /home/site/wwwroot/inc/actions.php on line 38
fourier_maps [topas wiki]

User Tools

Site Tools


fourier_maps

Differences

This shows you the differences between two versions of the page.


Previous revision
fourier_maps [2022/11/03 15:08] (current) – external edit 127.0.0.1
Line 1: Line 1:
 +====== 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.
 +
 +
 +<code topas>
 +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_String("\ncell")
 + 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\ncenters")
 +    Out_String("\n 0 0 0")
 +    Out_String("\nendcenters")
 +    Out_String("\n\nsymmetry")
 +    Out(Get(sp_xyzs_txt),  "%s"  
 +    Out_String("\nendsymmetry")
 +    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")
 +    Out_String("\nfbegin")
 +  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
 + Out_String("\nendf")
 +}
 +
 +</code>