# Copyright (c) 2002-20 Peter Guentert. All rights reserved. ## 7MACROS: cyclicbond - CYANA macro ## ## Parameters: first= (default: first residue) ## second= (default: last residue) ## ## Creates upper and lower limit distance restraints to constrain a ## cyclic peptide bond between the and amino acid ## residue. var info echo i j res res1 res2 syntax name=*=cyclic first=*=$rnum(1) second=*=$rnum(nr) weight=@r=5.0 info:=none; echo:=off tmp:=c$getpid #aas:='LEU GLY ALA VAL ILE PRO SER THR GLU ASP GLN ASN LYS ARG HIS PHE TYR TRP MET CYS' aas:='LEU GLY ALA VAL ILE PRO SER THR GLU ASP GLN ASN LYS ARG HIS PHE TYR TRP MET CYS AIB SAR ORN ACE BPY' in=iatom('NE $first') if (in.le.0) error "No atom NE in residue $first." ic=iatom('C $second') if (ic.le.0) error "No atom C in residue $second." rn1=rnam(iar(in)) rn2=rnam(iar(ic)) write seq demo.seq print >>demo.seq print "link NE $first C $second" >>. #print "$first $rn1 NE $second $rn2 C 1.33 $weight" >>link.upl #print "$first $rn1 QE $second $rn2 C 2.00 $weight" >>link.upl #print "$first $rn1 CA $second $rn2 C 2.43 $weight" >>link.upl #print "$first $rn1 NE $second $rn2 CA 2.53 $weight" >>link.upl #print "$first $rn1 NE $second $rn2 O 2.25 $weight" >>link.upl print "$second $rn2 C $first $rn1 NE 1.33 $weight" >>link.upl print "$second $rn2 C $first $rn1 QE 2.00 $weight" >>link.upl print "$second $rn2 C $first $rn1 CD 2.43 $weight" >>link.upl print "$second $rn2 CA $first $rn1 NE 2.42 $weight" >>link.upl print "$second $rn2 CA $first $rn1 QE 2.53 $weight" >>link.upl print "$second $rn2 O $first $rn1 NE 2.25 $weight" >>link.upl print "$second $rn2 O $first $rn1 QE 3.11 $weight" >>link.upl print >>. remove $tmp.seq read seq demo.seq read upl link.upl write upl link.upl read lol link.upl write lol link.lol unset info print " Restraints for cyclic peptide bond between residues $first and $second added."