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
matching_a_rigid_body_to_a_known_fragment [topas wiki]

User Tools

Site Tools


matching_a_rigid_body_to_a_known_fragment

Differences

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


Previous revision
matching_a_rigid_body_to_a_known_fragment [2022/11/03 15:08] (current) – external edit 127.0.0.1
Line 1: Line 1:
 +====== Matching a rigid body to a known fragment ======
  
 +The translation and rotation parameters of a known rigid body fragment within a unit cell can be determined by refining a rigid body against the known fragment. Consider a known fragment comprising two C atoms with sites named wC1 and wC2. Then create two more sites called C1 and C2 as follows:
 +
 +
 +<code topas>only_penalties
 +continue_after_convergence
 +xdd...
 + str...
 + site wC1... occ C 0
 + site wC2... occ C 0
 + ...
 + site C1...
 + site C2...
 + ...
 + rigid
 + z_matrix C1...
 +                        z_matrix C2...
 + rotate @...
 + rand_xyz 2
 + translate 
 + tx ... val_on_continue = Val + Rand(-2, 2);
 + ty ... val_on_continue = Val + Rand(-2, 2);
 + tz ... val_on_continue = Val + Rand(-2, 2);
 +
 + Distance_Restrain("C1 wC1", 0, 0, 0, 1)
 + Distance_Restrain("C2 wC2", 0, 0, 0, 1)</code>
 +
 +Here the known site positions start with 'w'; these sites are not part of the rigid body. The sites named C1 and C2 are part of the rigid nody and only the rotate and translate parameters of the rigid body are refined. Note, the use of only_penalties. Also note that setting occupancies to zero means that the site can be used in penalties but it won’t take part in structure factor calculations if observed data were to be refined against. 
 +
 +Refinement would then fit the rigid body against the known site positions.
 +
 + --- //[[alan.coelho@bigpond.com|Alan Coelho]] 2011/08/25 19:13//
 +
 +This works as long as you don't have to consider symmetry equivalents of the C1 and wC1 sites for the mapping to work (e.g. atoms in adjacent unit cells).  In that case you have to specify the full site label.  The macro below might work for the more general case.  The box_interaction sum is over all distances in the unit cell.  Entering Z for site multiplicity should return the distance between the rigid body and target.  It's untested.
 +
 +<code topas>
 +Match_Site(B4_1, O*, 1,  , 4, 1.2127903`)
 +
 +macro Match_Site(s1, s2, wby, c, Z, Rcalc)
 +   {
 +      #m_ifarg c ""
 +         #m_unique_not_refine c
 +      #m_endif
 +      box_interaction to_N 0 s1 s2 c = R;
 +      local =c/Z;: Rcalc
 +      penalty = (wby) c^2;
 +   }
 +
 +</code>