remarks build two-stranded DNA structure {* one strand in dna1.pdb, other strand in dna2.pdb. *} rtf @TOPPAR:nucleic.top end parameter @TOPPAR:nucleic.par end segment name=" " SETUP=TRUE chain REMARKS TOPH11.NUC MACRO for RNA/DNA sequence SET ECHO=FALSE END ! this is a macro to define standard DNA/RNA polynucleotide bonds ! and termini to generate a sequence. ! it should be added as @TOPTRNA8.NUC in the SEGMent SEQUence ! level. ! ! Axel Brunger, 17-AUG-84 {* This tells the program what the ends of the oligonucleotide *} {* have in the way of atoms and how nucleotides in the middle *} {* are joined. *} {* The ends are defined by the first and last residues in the PDB file. *} {* so if there are any errors, check there first. *} LINK NUC HEAD - * TAIL + * END FIRST 5ter TAIL + * END LAST 3TER HEAD - * END SET ECHO=TRUE END coor @dna1.pdb coor @dna2.pdb end end {* now apply DNA patches to all residues *} {* ===================================== *} {====>} {* Change the numbers in this loop to match resids in the PDBs? *} for $1 in ( 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ) loop main patch DEOX reference=NIL=( resid $1 ) end end loop main {* rename some atoms *} {* ================= *} vector do (name "HN'") ( NAME H61 AND RESNAME ADE ) vector do (name "HN''") ( name H62 and resname ADE ) vector do (name "HN'") ( name H21 and resname GUA ) vector do (name "HN''") ( name H22 and resname GUA ) vector do (name "HN'") ( name H41 and resname CYT ) vector do (name "HN''") ( name H42 and resname CYT ) vector do (name "CM") ( name C5A and resname THY ) !vector do (segid "A") (resid 1:12) !vector do (segid "B") (resid 13:24) !vector do ( resid = encode ( decode ( resid ) + 100 ) ) ( segid " ") ! This allows you to renumber the nucleotides. write psf output=dna.psf end stop