# Copyright (c) 2002-08 Peter Guntert. All rights reserved. ## 7MACROS: cisprocheck - CYANA macro ## ## Parameters: (none) ## var echo i j k avetrans avecis sdtrans sdcis cb cg ptrans pcis ptransrel pcisrel type syntax $macro: # Average value and standard deviations for the difference between the # CB and CG shift from Schubert et al., J. Biomol. NMR 24, 149-154 (2002): avetrans=4.51; sdtrans=1.17; avecis=9.64; sdcis=1.27 echo:=off c=1.0/sqrt(2.0*pi) print " CB CG CB-CG Ptrans Pcis Result" do i 1 nr rn=rnam(i) if (rn(1:3).eq.'PRO') then j=rnum(i) cb=shift(iatom('CB $j'),1) cg=shift(iatom('CG $j'),1) if (cb.ge.990.0 .or. cg.ge.990.0) then print " $rn $j: no CB and/or CG shift" else d=cb-cg ptrans=c/sdtrans*exp(-0.5*((d-avetrans)/sdtrans)**2) pcis=c/sdcis*exp(-0.5*((d-avecis)/sdcis)**2) ptransrel=ptrans/(ptrans+pcis) pcisrel=pcis/(ptrans+pcis) if (ptransrel.gt.0.9) then type:='trans' else if (pcisrel.gt.0.9) then type:='cis' else type:='?' end if print " $rn(1:4)$j(I4): $cb(F7.2) $cg(F7.2) $d(F7.2) $ptransrel(F7.3) $pcisrel(F7.3) $type" k=iangle('OMEGA $j') if (k.gt.ndfree) then if (abs(dval(k)).lt.90.0 .and. type.eq.'trans') then print "*** WARNING: CB/CG shifts predict trans $rn $j but OMEGA is fixed to cis." else if (abs(dval(k)).gt.90.0 .and. type.eq.'cis') then print "*** WARNING: CB/CG shifts predict cis $rn $j but OMEGA is fixed to trans." end if end if end if end if end do