{+ file: ramachandran.inp +} {+ directory: general +} {+ description: Calculate Phi/Psi distribution for a protein structure +} {+ comment: the phi/psi values are calculated for each residue +} {+ authors: Axel T. Brunger, and Paul D. Adams +} {+ copyright: Yale University +} {- Guidelines for using this file: - all strings must be quoted by double-quotes - logical variables (true/false) are not quoted - do not remove any evaluate statements from the file -} {- begin block parameter definition -} define( {======================= molecular structure =========================} {* structure file *} {===>} structure_infile="amy.mtf"; {* coordinate file *} {===>} coordinate_infile="amy.pdb"; {========================== atom selection ===========================} {* select atoms to be included in calculation *} {===>} atom_select=(known and not(hydrogen)); {=========================== output files ============================} {* output listing file *} {===>} list_outfile="ramachandran.list"; {===========================================================================} { things below this line do not normally need to be changed } {===========================================================================} ) {- end block parameter definition -} checkversion 1.2 evaluate ($log_level=quiet) structure @&structure_infile end coordinates @&coordinate_infile set display=&list_outfile end display >>>> Ramachandran plot for: display >>>> structure file= &STRIP%structure_infile display >>>> coordinate set= &STRIP%coordinate_infile display display segid resid resname phi psi display set display=OUTPUT end for $id in id ( &atom_select and name ca ) loop rama show (segid) (id $id) evaluate ($segid=$result) show (resid) (id $id) evaluate ($resid=$result) show (resname) (id $id) evaluate ($resname=$result) evaluate ($phi=-9999) evaluate ($psi=-9999) identity (store1) (name c and bondedto (name n and resid $resid and segid $segid )) if ( $select = 1 ) then show element (store1) (attribute store1 > 0) evaluate ($id_prev=$result) show (segid) (id $id_prev) evaluate ($segid_prev=$result) show (resid) (id $id_prev) evaluate ($resid_prev=$result) pick dihedral (name c and segid $segid_prev and resid $resid_prev) (name n and segid $segid and resid $resid) (name ca and segid $segid and resid $resid) (name c and segid $segid and resid $resid) geometry evaluate ($phi=$result) end if identity (store1) (name n and bondedto (name c and resid $resid and segid $segid )) if ( $select = 1 ) then show element (store1) (attribute store1 > 0) evaluate ($id_next=$result) show (segid) (id $id_next) evaluate ($segid_next=$result) show (resid) (id $id_next) evaluate ($resid_next=$result) pick dihedral (name n and segid $segid and resid $resid) (name ca and segid $segid and resid $resid) (name c and segid $segid and resid $resid) (name n and segid $segid_next and resid $resid_next) geometry evaluate ($psi=$result) end if if ( $phi # -9999 ) then if ( $psi # -9999 ) then set display=&list_outfile end display $segid[a4] $resid[a4] $resname[a4] $phi[f10.4] $psi[f10.4] set display=OUTPUT end end if end if end loop rama stop