IUBio GIL .. BIOSCI/Bionet News .. Biosequences .. Software .. FTP

PC-refinement and translation search

Angela Toms toms at daisy.chem.umanitoba.ca
Tue May 19 16:09:18 EST 1998


I am having some trouble in getting my translation script, PC-refinement
part, to give the same result as a straight PC-refinement. The input and
results are given below.  Any insight into the problem would be greatly
appreciated.

---PC-refinement
 xrefine

   @XTALLIB:spacegroup.lib                         { Read symmetry
library. }

   a=$a b=$b c=$c  alpha=$alpha beta=$beta gamma=$gamma { Define unit
cell. }
  
   @$scatter_library                             { Read form factor
library }

   nreflections=$max_nrefl 
   
   reflection @$refl_name end                           {*Read
reflections.*}

   resolution  $low_res $high_res                       {*Resolution
range.*}

   do ( fobs = 0 ) ( ampl(fobs) <=  $f_cut*sigma)           {*Sigma
cutoff.*}

   fwindow $f_low  $f_high                             {* Amplitude
cutoff.*}

   method=dire       
   

   wa=$wa
   target=E2E2                                            {*Specify
target.*}

  {* Calculate number of bins used for E calculation.  Make sure there
are }
  {* at least 100 reflections in each
bin.                                 }

   show sum (1) ($f_low <= ampl(fobs) <= $f_high and $high_res <= d <=
$low_res)
   evaluate ($mbins=int(min(10,$result/100)))
   mbins=$mbins                 

   tolerance=0. lookup=false              {*This makes the minimizer
happy.*}

                                         {*Expand data to a P1
hemisphere. *}
   expand 
   
   selection=( not hydrogen and store 1 ) 

end

flags exclude * include xref end               {*Use only XREF energy
term.*}
     coor copy end                           {*Save current
coordinates    *}
     coor rotate euler=( $t1 $t2 $t3 ) end   {*and then rotate
them        *}
                                             {*according to the
orientation*}
                                             {*specified by $t1, $t2,
$t3. *}

     energy end                                    {*Compute initial
energy*}
     evaluate ($pc1=1.0-$xref/$wa)                 {*and store in
$pc1.    *}
     
     minimize rigid                              
        nstep=$mini_steps                            
        drop=10.                                             
        translation=false  {* Translation of the last group is kept
fixed. *}                                 
     end 
     evaluate ($pc2=1.0-$xref/$wa)

 minimize rigid
        group=( store1 )          
        nstep=$mini_steps        
	drop=10.                                             
        translation=false  {* Translation of the last group is kept
fixed. *}                                 
    end
    evaluate ($pc3=1.0-$xref/$wa)  
 
 

    coor swap end                {*Fit coordinates to starting structure
in*}
    vector do (vx=x) ( all )     {*order to measure the orientation of
the *}
    vector do (vy=y) ( all )     {*PC-refined
structure.                   *}
    vector do (vz=z) ( all )  {*The arrays vx, vy, vz are used as
temporary*}
    coor fit end              {*stores in order to keep the
starting       *}
    vector do (x=vx) ( all ) 
{*coordinates.                               *}
    vector do (y=vy) ( all )    {*The COOR FIT statement stores the
angles *}
    vector do (z=vz) ( all )    {*in the symbols $theta1, $theta2,
$theta3.*}


                         {*Print information: orientation of
rotation      *}
                         {*function peak ($t1, $t2, $t3),
orientation      *}
                         {*after PC-refinement ($theta1, $theta2,
$theta3),*}
                         {*order of the rotation function,
rotation        *}
                         {*function value, and PCs for
initial,            *}
                         {*rigid-body, and domain-refined
structures.      *}


----result
314.01  -5.00 314.01 147.14  10.82 115.73   520.    2.15  0.1977 
0.2194  0.2194



-----translation
coor copy end
coor rotate euler=(314.01 -5.00 314.01 ) end
xrefin
   @XTALLIB:spacegroup.lib
   a=$a b=$b c=$c  alpha=$alpha beta=$beta gamma=$gamma { Define unit
cell. }

   
  
   @$scatter_library                             { Read form factor
library }

   nreflections=$max_nrefl
   reflection @$refl_name end                                {* Read
reflections.*}
                               

   resolution $low_res $high_res  

   do ( fobs = 0 ) ( ampl(fobs) <=  $f_cut*sigma)           {*Sigma
cutoff.*}

   fwindow $f_low  $f_high                             {* Amplitude
cutoff.*}
      
   method=dire       
   

   wa=$wa
 
   target=E2E2                 {*Specify target used for both
PC-refinement*}
                               {*and translation
search.                   *}

  {* Calculate number of bins used for E calculation.  Make sure there
are }
  {* at least 100 reflections in each
bin.                                 }

   show sum (1) ($f_low <= ampl(fobs) <= $f_high and $high_res <= d <=
$low_res)
   evaluate ($mbins=int(min(20,$result/100)))
   mbins=$mbins                 

   tolerance=0. lookup=false              {*This makes the minimizer
happy.*}
                                         
   expand                                 {*Expand data to a P1
hemisphere.*}
   
   selection=( not hydrogen and store1 ) 

end

flags exclude * include xref end               {*Use only XREF energy
term.*}


set precision=5 end
set message=off end 
set echo=off end    

                   {*Same PC-refinement protocol as that of job
filter.inp.*}
minimize rigid  			    
	nstep=$mini_steps			     
	drop=10.					    
	translation=false  {* Translation of the last group is kept fixed.
*}				      
end 


minimize rigid
       group=( store1 )       
	 nstep=$mini_steps
	drop=10.					     
	translation=false  {* Translation of the last group is kept fixed. *}	
			     
end

 coor swap end                {*Fit coordinates to starting structure
in*}
    vector do (vx=x) ( all )     {*order to measure the orientation of
the *}
    vector do (vy=y) ( all )     {*PC-refined
structure.                   *}
    vector do (vz=z) ( all )  {*The arrays vx, vy, vz are used as
temporary*}
    coor fit end              {*stores in order to keep the
starting       *}
    vector do (x=vx) ( all ) 
{*coordinates.                               *}
    vector do (y=vy) ( all )    {*The COOR FIT statement stores the
angles *}
    vector do (z=vz) ( all )    {*in the symbols $theta1, $theta2,
$theta3.*}

display $theta1 $theta2 $theta3

----result
148.63 7.1271 117.86



Angela Toms
Department of Chemistry
University of Manitoba



More information about the X-plor mailing list

Send comments to us at archive@iubioarchive.bio.net