?_T˙˙˙˙HŮD;lœ1~2 AMMP helpBrowseButtons()/&;)z4Ŕ‰Fţ‰Fü‹F F˙˙ ‹ ˙˙˙˙|CONTEXTŃ|CTXOMAPŇż|FONTWż|KWBTREEťŔ|KWDATAÝż|KWMAPŞŔ|SYSTEM|TOPICƒ|TTLBTREEęČöB t.‹B,ƒř˙„o˙˙˙MôQP˙5Ź5Pčšú˙ƒř˙„V˙˙˙ˇuřéM˙˙˙S˙uč?ÁëĘż°5PéD2÷˙Çä5Pés2÷˙÷Ćt Ąž4Pé‘3÷˙Ąž4Pé‡3÷˙PhdŤ4PčËŕű˙éŚ3÷˙ž‹Îé:3÷˙˙7V襊ó˙é"4÷˙‹EfƒxD„4÷˙j‹EƒŔ0Php5PčűKó˙…Ŕ…f4÷˙ƒ}üVW„ěčŐŠ";Б4PŒI4÷˙;ԑ4P=4÷˙f9=ؑ4P…04÷˙fĄř‘4PSf‰EWč0Šó˙‹]żMżN5PżU+Č;Ę…4÷˙fĄR5Pf…Ŕ|f3ŔżČżP5PżU Č;Ę…Ý3÷˙ƒ}ü…čż(5P‹ …@$5P‹y…˙„Ď…ŰufĄ(5PVP躉ó˙‹5$5P‹VP‹H˙1č[[ó˙‹‹J9B ‹ ƒ‡‹R‹Â+ƃřŔ@ép3÷˙č-xó˙jh@5P˙uW跏ö˙…Ŕ„Q3÷˙‹]…ŰtO‹Eś@…Ŕ…;3÷˙‹Ć…ŰuĄ 5PPWčŸmh€€PWčlgö˙ö5P…ôţ˙˙< „3÷˙<„3÷˙éßţ˙˙śE5PëŻ3Ňél˙˙˙¸éă2÷˙VEźPč‘héd3÷˙}Â3Ŕš óŤéa3÷˙f‹MŔ‹Eźf‰ Ô5PŁĐ5Pél3÷˙€`éŢ3÷˙ö@@‰”Ő7P…Ő3÷˙Ç”Ő7P˙˙˙˙čuIé˙3÷˙fƒR:1: 25: FFFF: 0 @tÂöEČţuźżĐ5P3ŔšóŤfÇÔ5P:‹EÄŁĐ5P¸é¨3÷˙čI3Ŕéę3÷˙E¤PčćU…Ŕu čůH3ŔéŃ3÷˙hĐ5PE¤Pč„REđPVč_ …Ŕth5PEđhţ5PPč.:ű˙żE ‹ …@$5PEđP‹q˙u‹Q‹Q˙2čsYó˙PVčŤZó˙fƒ}Ժ˺˙˙˙˙ ?˙˙˙˙K1v˙˙˙˙˙˙˙˙˙˙˙˙K‚Help with AMMP‚ O‚ Ҁ€ă=Ž˜€‰‚‚‚‚‚ƒă˛ŇSG‰‚ƒăňH˜ş‰‚ƒăďJČʉ‚ƒăqWB—‰‚ƒă S$‰‚ƒă›b™‰‚ƒă…Iáń‰‚ƒă”!lډ‚‚‚ƒăjŃ"‰‚ƒăŁzQ%‰‚‚‚˙AMMP (Another Molecular Mechanics Program).UNDER CONSTRUCTION.How Do I?Read a coordinate fileGenerate a new moleculeComplete a Partial StructureChoose the potentialsControl the long range termsMinimize the energyRun molecular dynamicsUnderstand the resultsWhat are?Molecular mechanics energiesAMMP instructionsBasic Design Philosophy3 K‚( €€ă•tň€‰˙LicenseS"OŐ1c˙˙˙˙˙˙˙˙˙˙˙˙Őĺ License and disclaimer of warrantyV*‚+, &€U€€‚‚‚‚‚‚‚‚‚˙License and DisclaimerAnother Molecular Mechanics Program (AMMP) Š 1993,1994,1995,1996 Robert W. Harrison Š 1996 Thomas Jefferson UniversityEvaluation copy.Limited license is granted for the evaluation use and distribution of this program and associated files. This program cannot be directly sold for profit, although it can be used in commercial research whose ultimate goal is for profit. The author reserves all commercial rights to the program and associated files, including the right to revise this license and to revoke it if needed.1Ő\+ $€ €€‚‚‚‚‚‚‚‚˙To obtain a licensed copy please send $50.00 (US) as a check or money order payable to The Kimmel Cancer Center at:AMMP care of KCC administration1020 LocustJefferson Alumni Hall 490Philadelphia PC 19107Please include an E-mail address as this will make distribution fairly simple. We prefer to distribute AMMP over the internet and will return you an access code which will allow you to retrieve the current version with demonstrations and examples. If this is not possible for you please let us know. ń+v ) €ă€€‚‚‚‚‚‚˙The fee was chosen to be a reasonable value, and is considerably smaller than the fee for similar (and somewhat less functional) commercial programs. If this is a major problem, especially if you are in a third world or former Soviet Block country where payment may be nearly impossible, please directly contact the author.The software is provided as is. No warranty of functionality nor safety is included. Use at your own risk. By using this program you are agreeing to this license.oJ\ĺ % €”€€‚‚‚˙Please email any comments/bug reports to harrison@asterix.jci.tju.eduT#v 9 1ř ˙˙˙˙˙˙˙˙˙˙˙˙9 éGReading an existing coordinate fileÜ´ĺ  ( €i€€‚‚‚‚‚˙Reading an existing coordinate fileAMMP only understands its own language. You read an existing coordinate file by compiling it into AMMP language. The program preammp (prewin) does this. Preammp can be run on its own, or called from the file menu in AMMP95. Preammp requires several inputs. You will be prompted for each of them with a Windows file choice menu. If you dont like this simply cancel the window and enter the filename in the prewin man window (this is simpler to do than to describe!). When you dont have a file, such as when generating coordinates from scratch you will need to both cancel the windows file choice menu and then enter return for the main window.̝9 á/ ,€;€€‚‚‚‚ƒă˂űƒ‰‚˙Preammp only works one residue at a time. YOU WILL NEED TO SUPPLY THE INTERMONOMER LINKAGE IN A POLYMER. Scripts such as peplink.amp (for proteins) and ndick.amp (for standard DNA/RNA linkage) are supplied. These were generated by generating the template for the dimer and extracting the appropriate terms. They are also a good place to see how to manipulate atoms and potentials in an automatic script.Preammp requires several files:Atoms file. This file is the definition of the various kinds of atoms which are in the coordinate file. Preammp uses this to calculate bond and angle parameters and set up the nonbonded potentials. A typical entry is:/˙ C0 .€˙€áCĺ €‚‚‚‚‚ƒăŽ}4‰‚˙c3 .757 109.47 0 0 3.851 .105 1.912 5.343 10.126 12.000 -.459 2.119 2.atomname, halfbond, angle, abc parameter1,abc paramter2, vdw minimum location, vdw minimum energy, pseudo charge for force constants, Jaa, Qaa (charge terms), mass, default charge, torsion parametersC3 is the type for an sp3 carbon. Generally atoms are named by the atom symbol followed by a flag to describe the chemistry. C2 is an sp2 carbon. Ca is an aromatic carbon. Templates Preammp has to know which atoms are bonded to which. The minimal template is simply the number of atoms, followed by the atoms, then the number of bonds followed by the bonds. Additional terms for special angles, chiral groups, and torsion parameters are allowed. Normally these fields are zero. ÍĄáéG, &€C €€‚ƒăďJČʉ‚˙PDB file. Input coordinates in (more or less) PDB format. The new pdb format flags for segid, atom type and 'charge' are ignored. Preammp is not fussy, as long as the fields are separated by spaces. Unknown atoms can be given an x,y,z value of 0.,0.,0. and then AMMP will generate them. This is useful for adding single instances of unusual geometry such as a terminating carboxyl group. Preammp will complain, but pass the atom through. This is also useful for generating a polymer. If one atom in each monomer is specified with dummy coordinates, then preammp will be able to generate the appropriate monomer terms. You will then need to supply the linkage geometry. In thecase of a terminating carboxyl, the file oxtlink.amp has that information. When converting from pseudo-pdb files generated by other molecular mechanics programs, it is generally a good idea to remove the hydrogens and rebuild them. While standard names for heavy atoms in proteins and nucleic acids are generally followed, accord on hydrogen names is far from universal. Another problem you may run into is the multiple naming conventions on sugars (C* .vs. C' and O4 vs. O1 in the ring). ?C(H1Ž ˙˙˙˙˙˙˙˙˙˙˙˙(HŸ„The Atoms file[6éGƒH% €l€€‚ƒ‚˙The Atoms fileThe atoms that are already defined.y!(HüHX#€€B  €€€‚˙€€‚˙€0€€€‚˙˙˙HAliphatic HydrogenCH3OHz"ƒHvIX#€€D  €€€‚˙€ €‚˙€2€€€‚˙˙˙HdHydrogen bonding HCH3OHrüHčIX#€€4  €€€‚˙€ €‚˙€"€€€‚˙˙˙C3Sp3 CarbonCH3OHvvI^JX#€€<  €€€‚˙€ €‚˙€,€€€‚˙˙˙CaAromatic CarbonC6H6}%čIŰJX#€€J  €€€‚˙€ €‚˙€4€€€‚˙˙˙C2Sp2 isolated carbonCH3COOHq^JLKX#€€2  €€€‚˙€ €‚˙€"€€€‚˙˙˙C1Sp1 carbonHCCHrŰJžKX#€€4  €€€‚˙€ €‚˙€&€€€‚˙˙˙N3Sp3 nitrogenNH3eLK#LR#t€&  €€€‚˙€ €‚˙€ €‚˙˙˙N2Sp3 amide?x žK›LX#€€@  €€€‚˙€ €‚˙€,€€€‚˙˙˙NmMethyl nitrogenCH3NH2u#LMX#€€:  €€€‚˙€ €‚˙€(€€€‚˙˙˙NrRing NitrogenC5H5N‰1›L™MX#€€b  €€€‚˙€ €‚˙€F€€€‚˙˙˙NpSp2 Amide (peptide) nitrogenCH3CONHCH3~&MNX#€€L  €€€‚˙€ €‚˙€:€€€‚˙˙˙NbStrained ring nitrogenC4H4Nr™M‰NX#€€4  €€€‚˙€ €‚˙€&€€€‚˙˙˙N1Sp1 nitrogenHCNrNűNX#€€4  €€€‚˙€ €‚˙€&€€€‚˙˙˙OwWater oxygenH2Or‰NmOX#€€4  €€€‚˙€ €‚˙€"€€€‚˙˙˙O3Sp3 oxygenCH3OHwűN €X#€€>  €€€‚˙€ €‚˙€"€€€‚˙˙˙O2Sp2 oxygenCH3CONHCH3mO €éGomO{€X#€€.  €€€‚˙€ €‚˙€"€€€‚˙˙˙O1Sp1 oxygenCOr €í€X#€€4  €€€‚˙€ €‚˙€"€€€‚˙˙˙P35PhosphateH3PO4y'{€fR#t€N  €€€‚˙€ €‚˙€,€‚˙˙˙S32Reduced SulfurDisulfide Bonds~&í€äX#€€L  €€€‚˙€ €‚˙€6€€€‚˙˙˙S34Intermediate SulfurCH3SCH3nfR‚X#€€,  €€€‚˙€ €‚˙€€€€‚˙˙˙S36SulfateSO4täĆ‚X#€€8  €€€‚˙€€‚˙€(€€€‚˙˙˙Cl,Br,FHalogensCH3FaR‚'ƒR#t€  €€€‚˙€ €‚˙€€‚˙˙˙MgMg ion„2ƂŤƒR#t€d  €€€‚˙€€‚˙€8€‚˙˙˙Fe2sIron Sulfur ClusterIron Sulfur proteinsg'ƒ„R#t€*  €€€‚˙€ €‚˙€€‚˙˙˙Fe2Iron +2HemegŤƒy„R#t€*  €€€‚˙€ €‚˙€€‚˙˙˙Fe3Iron +3Heme&„Ÿ„# €€€‚˙Dy„ă„1< ˙˙˙˙˙˙˙˙˙˙˙˙ㄠŔMolecular Templates矄ů†/ ,€Ď€€‚ƒ‚‚‚‚‚‚‚‚‚‚˙Molecular TemplatesMolecular templates define molecular geometry for preammp. These are named with the same three letter code which appears in the pdb file for the given residue. The file for alanine is shown here:10name ala.n type np charge -0.463name ala.hn type hd charge 0.252name ala.ca type c3 charge 0.035name ala.ha type h charge 0.048name ala.c type c2 charge 0.616name ala.o type o2 charge -0.504name ala.cb type c3 charge -0.092name ala.hb1 type h charge 0.036n8ă„g‰6 :€q€€‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚˙name ala.hb2 type h charge 0.036name ala.hb3 type h charge 0.0369ala.n ala.hn 1ala.n ala.ca 1ala.ca ala.c 1ala.ca ala.cb 1ala.ca ala.ha 1ala.c ala.o 1.75ala.cb ala.hb1 1ala.cb ala.hb2 1ala.cb ala.hb3 102ala.n ala.cb ala.c ala.ca 4 .494427ala.n ala.cb ala.c ala.ha 4 1.6069710Note that the names are given by residue.atom. This "dot notation" is AMMP's way of keeping track of atom names. AMMP will run without it, but will have difficulty referring to atoms by name. There are no special angles, two special hybrids, and no special torsions.yRů†ŕ‹' €Ľ€€‚‚ƒ‚˙Fractional bond orders are allowed. In this case using C=O with 1.75 and C-N with 1.25 (see peplink.amp) gives the best agreement with experimental lengths. Chiral centers are expressed as "hybrid" terms. The easiest way to generate these is to first general an a-chiral molecule; use a hybrid term with zero force constant; and then have AMMP calculate the height with analyze. You then only have to set the sign of the height term. It is possible to overide almost every default in preammp. Atomic parameters and special molecular geometries can be specified in the template fileűÔg‰ Ŕ' €Š€€ƒ‚ƒ‚˙For the atoms: the name and type fields are required. The use of additional keyword-value pairs allows for optional changes. The most often used pair is (charge,the_charge) which is used to specify atomic paritial charges. (mass, the_mass) sets the atomic mass. (a,a_value), (b,b_value) or (sigma,radius),(e,vdw_energy) can be used to specify the Van der Waals parameters. The order of the keywords is optional.Special bond, angle, hybrid and torsion parameters can be set. In these the parameters are treated as strings which allows the use of symbolic replacement. For bonds the format is bond atom1 atom2 radius force_constant. The keyword bond is required because bonds are normally defined as atom.res atom.res bond_order. Angles are defined as atom1 atom2 atom3 angle force constant. Hybrids (pyramid height terms) are defined as atom1 atom2 atom3 atom4 height force constant. Torsions are defined as atom1 atom2 atom3 atom4 force_constant period offset.ŕ‹ ŔŸ„Hŕ‹TŔ11˙˙˙˙˙˙˙˙˙˙˙˙TŔ=ĹCreating a new moleculeÖ ŔVÂ, &€­€€‚‚ăŽ}4‰‚˙Creating a new moleculeTo create a new molecule you have to first define a template. You then run preammp. When preammp asks for a coordinate set dont enter any file name. Unlike with the existing molecule case, preammp will not be able to automatically look up the kind of molecule from the coordinates. So you will be prompted to enter a molecule name. This is limited to three characters to fit into PDB format. (Sorry about that, but that is how it is).çŞTŔ=Ĺ= H€U€€‚ăsç‰ăđL¤ ‰ăqWB—‰ăx‚83‰‚˙It is then necessary to build the molecule. Preammp outputs 0,0,0 for x,y,z so all of the atoms are in the same locations. This means you cannot just "turn on" minimization. For small simple molecules, use gsdg to build an initial self-avoiding, but distorted structure and then use conjugate gradients to polish it up. More complicated molecules will require embedding or homotopy approaches, and possible manual intervention. Polymers, such as proteins, will require that an initial model be built with just the bond and angle terms. Set the torsion angles to generate an extended structure and then use other data such as NOE distance terms to fold the polymer.OVŒĹ1‘˙˙˙˙˙˙˙˙˙˙˙˙ŒĹÎËCompleting a Partial StructureÖŠ=ĹbČ- (€S€€‚‚ƒăqWB—‰‚˙Completing a Partial StructureA partial structure is one where some of the atoms have defined positions and the rest are unknown. If the structure was generated with preammp the unknown atoms will be at the location 0,0,0. In order to build a full structure it is necessary to constrain or restrain the known structure and then build in the new atoms. The command "tether all force_constant;" will generate a set of harmonic restraints ("tethers") for the current known atoms. If you use tethers remember to activate them. It is more efficient to use constraints. These can be set with the command "nzinactive low_atom high_atom ;" (i.e. "nzinactive 0 100000000;"). y;ŒĹŰĘ> J€w€€‚ƒăqWB—‰ăđL¤ ‰ăsç‰ăqWB—‰‚˙In either case, the new atoms must first be moved to approximate positions before the structure can be optimized. If the new atoms are mostly hydrogens use only the bond and angle potentials and conjugate gradients. If there are extensive additions GSDG is a better choice. Chiral hydrogens are best placed by using only the hybrid terms after having built an approximate structure and then using hybrid bond and angle to generate a more correct structure. Prochiral hydrogens require special calculations; an example can be seen in the vlfix.amp script.óÇbČÎË, &€€€‚ƒă›b™‰‚˙Once the approximate structure has been built remove the constraints with "active low_atom high_atom;" (i.e. active 0 100000;) or by deactivating the tethers, and optimize the whole structure.DŰĘĚ1L ˙˙˙˙˙˙˙˙˙˙˙˙Ě Choosing potentials3 ÎËEÎ* "€€€‚‚ƒ‚‚ƒ‚˙Choosing the potentialsPotentials are chosen with the use command. "use" is given a list of tokens which identify the potentials to use. The list is cleared with the token "none". For example, "use none bond angle; " resets the list and uses the bond and angle terms. "use hybrid;" just adds the hybrid terms to the list. "use angle bond none;" is equivalent to "use none;". You can manipulate the "use" command directly from the menu in winammp.The potential types are given below, Bold are on by default.b̧ÎD#X€<5 €€€€‚˙€€‚˙˙˙Bondharmonic bond length]EÎĎA#R€85 €€€‚˙€€‚˙˙˙mmbondMM3 bond functiony8§Î}ĎA#R€p5 €€€‚˙€€‚˙˙˙hobondhomotopy bond (control with parameter lambda)ƒBĎ A#R€„5 €€€‚˙€ €‚˙˙˙abcangle-correlated bond length (requires abc data statement)}Ď Έ?}ϒG#^€~5 €€€€‚˙€€€‚˙˙˙morseMorse bond function (requires Morse data statement)”M &G#^€š5 €€€€‚˙€€€‚˙˙˙restrainharmonic distance restraint (requires restrain data statement)J’pD#X€ 5 €€€‚˙€€€‚˙˙˙]&ÍD#X€25 €€€€‚˙€€‚˙˙˙angleharmonic angle_p,A#R€<5 €€€‚˙€€‚˙˙˙mmangleMM3 angle functione$Í‘A#R€H5 €€€‚˙€€‚˙˙˙cangleUFF cosine angle function{:, A#R€t5 €€€‚˙€€‚˙˙˙hoanglehomotopy angle (control with parameter lambda)F‘RA#R€ 5 €€€‚˙€€‚˙˙˙^ °D#X€45 €€€€‚˙€€‚˙˙˙torsiontorsion angleJRúD#X€ 5 €€€‚˙€€€‚˙˙˙^°XD#X€45 €€€€‚˙€€‚˙˙˙hybridpyramid heightFúžA#R€ 5 €€€‚˙€€‚˙˙˙g&XA#R€L5 €€€‚˙€€‚˙˙˙tetherharmonic position restraintFžKA#R€ 5 €€€‚˙€€‚˙˙˙l+ˇA#R€V5 €€€‚˙€€‚˙˙˙noelsplit harmonic distance constraint†?K=G#^€~5 €€€€‚˙€€€‚˙˙˙honoelhomotopy noel term (control with parameter lambda)Jˇ‡D#X€ 5 €€€‚˙€€€‚˙˙˙€<=D#X€x5 €€€€‚˙€€‚˙˙˙nonbonpoint atom electrostatics and Van derWaals termsq0‡xA#R€`5 €€€‚˙€€‚˙˙˙screen1-s distributed charge electrostaticsd#ÜA#R€F5 €€€‚˙€€‚˙˙˙debyeDebye screened potentialss2xOA#R€d5 €€€‚˙€€‚˙˙˙shadow4-dimensional non-bonded for embedding.FÜ•A#R€ 5 €€€‚˙€€‚˙˙˙XOíA#R€.5 €€€‚˙€€‚˙˙˙nonereset the list$• " €€€˙Q íb 1´˙˙˙˙˙˙˙˙˙˙˙˙b ĹControlling the long range terms•l ÷ ) €Ů€€‚‚ƒ‚ƒ‚˙Controlling the long range terms.AMMP uses several tricks to efficiently calculate long range terms. The first of these is the use of amortization. In amortization algorithms the results of a single calculation are used over several calls of a function. AMMP amortizes the long range forces by using a local power series to update the distal terms of the force for small deviations in atomic positions. This is more accurate than a simple multiple cutoff algorithm The parameter mxdq, set with the command setf, defines the maximum any atom can shift before recalculation. Typical values are 0.5 to 0.75 A.xSb o% €§€€ƒ‚˙The second trick is the fast multipole algorithm. AMMP uses a cubic expansion without shuffle version of the FMM. This is as accurate as the 5th order expansion with the shuffle for the potential and the 7th order with the shuffle for the amortization. This is directly coupled to the local power series used for amortization. It is turned on by setting the parameter mmbox to a value greater than zero. Using 10 Angstroms is the optimal compromise between accuracy and speed. The FMM is not worth using unless the system is larger than 1000 atoms or greater in size than 30 Angstroms.V1÷ Ĺ% €c€€ƒ‚˙If you are really desperate you can set a cutoff radius by defining a cutoff radius greater than zero. This is done with the parameter cutoff (i.e. setf cutoff 8.;). AMMP is faster without cutoffs than with them. Cutoffs are also physically incorrect and should not be used except as a bad example.Fo@1Ú˙˙˙˙˙˙˙˙ ˙˙˙˙@”AMinimizingĹ@Ĺ a molecule}8Ĺ”AE X€q€€‚€‚ƒ‚‚ƒăđL¤ ‰‚‚ƒăs牂‚ƒăx‚83‰‚˙Minimizing a moleculeAmmp has several optimizers available. The most useful are:Conjugate Gradients - Quickest and best when you have a good starting modelGSDG -Gauss-Siedel Distance Geometry - Good for patching up incomplete structuresTorsion searching Explicit searches in torsion anglesD@ŘA1Œ˙˙˙˙˙˙˙˙ ˙˙˙˙ŘA FConjugate GradientsmA”AED, &€ƒ€€‚‚ƒ‚‚‚ƒ‚‚˙Conjugate GradientsAMMP uses the Polak-Ribiere algorithm for conjugate gradients with an inexact line search. AMMP will only terminate conjugate gradients when the number of steps is exhausted, or the calculated gradients are not a descent direction. Conjugate gradients is invoked as:cngdel nstep npivot toler ; where nstep is the number of steps, npivot forces a reset every npivot steps, and toler is the desired value of the l_inifinity norm for the force. These can be abbreviated and entering the command as "cngdel 100;" to perform 100 steps is allowed. ŰľŘA F& €k€€‚‚‚˙During the iterations the routine prints the current potential, the l_inifinity norm on the force, and the value of b which is the conjugate dot product. The value for linfinity will hop around as it is the magnitude of the maximum force on any atom which can both increase and decrease.The RMS force can be found by examining the value of the variable l2f (nop l2f; or dump variable) which is the sum of the squares of the forces.5EDUF1V˙˙˙˙˙˙˙˙ ˙˙˙˙UFvKGSDG0ý F…I3 4€ű€€‚‚ƒăqWB—‰ăđL¤ ‰‚˙GSDGGSDG or Gauss-Siedel Distance Geometry is a hybrid Krylov solver for distance geometry. It is related to the earlier Herman's minimizer used in programs like FRODO and CHAIN, but is more robust and has a stronger theoretical background. GSDG understands bond, angle, nonbon, and noel potentials. It can work on any combination of these terms. It systematically, one atom at a time, attempts to solve the distance equations. The non-bonded exclusion target is set to 4.5 Angstroms. This is too large and results in a distorted structure when the nonbonded terms are used. However this distorted structure is usually self-avoiding and readily corrected with conjugate gradients to result in a structure with both good geometry and self-avoidance.ńżUFvK2 2€€€‚ăďJČʉ‚‚ăžw˝N‰˙GSDG is most useful for building simple small molecules, and adding moderate sized chucks to a partial structure.GSDG is called as "gsdg n_cycles low_atom high_atom;". Only the number of cycles is required in which case all activeatoms are searched. If only one atom is specified then only it is searched. Otherwise the range of atoms specified is searched. Gsdg checks the atom order and will not fail if high_atom low_atom is used.E…IťK1š˙˙˙˙˙˙˙˙ ˙˙˙˙ťK;€Position constraintsîÁvKŠN- (€ƒ€€‚‚ƒăďJČʉ‚˙Position constraints.Atomic positions are constrained with the active, nzinactive and inactive terms. When an atom is inactive it only enters into potential and force calculations which use at least one active atom. For example when two atoms are bonded, calculations are only performed when one is active. The force on the inactive atoms is by definition zero and inactive atoms cannot be moved within AMMP. The command nzinactive differentiates between atoms which have coordinates and those which dont. Nzinactive will force atoms with x,y,z not equal to 0.,0.,0 to be inactive, while leaving atoms positioned at 0.,0.,0 as active. This is useful for completing partial structures. †]ťK;€) €ť€€‚‚‚‚‚‚˙active low_atom high_atom ; activates atoms between low_atom and high_atom (removes the constraints).inactive low_atom high_atom; applies constraints to all atoms between low_atom and high_atom.nzinactive low_atom high_atom; applies constraints to atoms not at 0.,0.,0.high_atom is optional, forŠN;€vK example active 100; activates only atom 100.JŠN…€18˙˙˙˙˙˙˙˙ ˙˙˙˙…€s†Explicit Torsion SearchesţÖ;€ƒƒ( €­€€‚ƒ‚ƒ‚˙Searching Torsion SpaceTwo general options are available for searching torsion space. These are the use of predefined groups ("tgroups") with recursive simultaneous searches and the searchin of any single torsion angle. TGROUP,TSEARCH. With this option you define a torsion group which is a set of less than 200 atoms. Tsearch then searches up to 8 simultaneous groups. This is most applicable for searching side chain conformations. The non-bonded potential used in tsearch is a special purpose version of the point atom non-bonded potential. It is optimized to only use the atoms which change in position and is relatively fast. The draw window geometry menu option to search side chains uses this construct.2 …€ľ…' €€€‚ƒ‚‚˙tgroup id i1 i2 i3 i4 start nstep; defines a tgroup, and tsearch id ; searches them.TSET,TMIN,TMAP. These routines use the current potentials and set search or map a given torsion angle. This option can search any torsion, including virtual ones where the atoms are not bonded, but uses the current potentials. It can be very slow if there is a large molecule. This construct is used by the draw window geometry menu option to search any torsion.tset i1 i2 i3 i4 target; sets the torsion angle to target.ž™ƒƒs†% €3€€‚‚˙tmin i1 i2 i3 i4 nstep; searches the angle.tmap i1 i2 i3 i4 j1 j2 j3 j4 ni nj; loops through the two torsion angles and outputs a map of the energy.Kľ…ž†1 ˙˙˙˙˙˙˙˙˙˙˙˙ž†}ŒRunning molecular dynamics[.s†‰- (€]€€‚‚‚ƒ‚‚‚‚‚‚˙Running molecular dynamicsMolecular dynamics with AMMP.AMMP uses a stiffly stable predict and correct algorithm for molecular dynamics. Nose constraints are used to implement constant temperature, constant energy and constant PT dynamics. V_maxwell initializes the velocities with a random Maxwell-Boltzmann distribution. (i.e. V_maxwell 300; for 300K). V_rescale rescales the velocities. (i.e. v_rescale 290; to rescale to 290K).Pac nstep dtime; Predict and correct dynamics. Nstep is the number of steps, Dtime = .00001 for 1 fs steps.Ź…ž†ŋ' € €€‚‚‚‚˙Pacpac nstep dtime; Iterated predict and correct dynamics. Somewhat more numerically accurate than pac.Tpac nstep dtime T; Constrain the temperature to T (in kelvin).Hpac nstep dtime H; Constrain the total energy to H. This is an example of a way to fake good dynamics.Ptpac nstep dtime T P; Constrain the temperature to T, the pressure to P. Pressure is in kilopascal (101.325 kPa = 1atm). The volumes are not fully calibrated in this command. It is also necessary to slowly approach the desired conditions because this uses Andersens demon for volume constraints. Andersens demon is not fully stable and the system can explode.¸“‰}Œ% €'€€‚‚˙Verlet nstep dtime; The verlet or leapfrog algorithm. Use at your own risk. This is here for historical reasons, and is occasionally useful.Jŋnj10˙˙˙˙˙˙˙˙˙˙˙˙nj­Understanding the resultsŃ}ŒɎ1 0€Ł€€‚‚‚‚‚‚ăqWB—‰‚‚˙Understanding the resultsUltimately the validity of the results depends on the accuracy of the potentials and the appropriateness of the calculation. Molecular mechanics is not a thermodynamic calculation or average over an ensemble. Two commands in AMMP can be used to analyze the results. Analyze low_atom high_atom ; generates detailed listings of the errors in the currently selected potentials. Atoms which are inactive usually are not shown.äÁnj­# €ƒ€€˙Monitor ; calculates the energies with the currently selected potentials. Monitor also updates the forces. The individual forces on atom j can be found with the variables j.fx,j.fy,j.fz .FɎ Ŕ1 ˙˙˙˙˙˙˙˙˙˙˙˙ ŔČThe Meaning of it all­ Ŕ­ŕ­Â& €Á€€‚‚‚˙The meaning of the energyAMMP uses a molecular mechanics potential or force field. This is a classical potential and as such is limited in its physical significance. However, it is possible to relate such a classical potential to a power series expansion about a stationary solution of a quantum problem. This relationship is derived via the Feynmann-Hellman theorem which relates the expectation value of the derivative of an operator with its stationary approximation.ď Ŕ,Ä+ $€ß€€‚‚‚‚‚‚‚‚˙We can write Schrodingers equation as: E = where E is the energy, H the Hamiltonian operator and the wave function. The molecular mechanics approximation to the energy is given by the Taylor expansion about a given solution : E(a) = E0 + dE/da (Delta a) +1/2 d2/da2 (Delta a)2 . where is an arbitrary parameter such as the x coordinate value.The derivatives of E are required for this expansion. Formally,dE/da = d /da. This can be expanded as:ŐŹÂČ) €Y€€‚‚‚‚‚‚˙dE/da = + + However, the assumption of a stationary point is simply dp/da =0 so that the resulting expansion is: dE/da = /This expression can be continued, ad infinitum, to produce the necessary derivatives.This Taylor series is NOT infinitely convergent. Large differences in positions will violate the assumption of a stationary wave function. Electronic transitions are not stationary by definition, and this expansion cannot treat them (nor does it treat non-differentiable problems like spin). However, in the limit of small displacements along bond and geometry, this expansion can be surprisingly good. Interactions between distant atoms, such as Van der Waals and electrostatic interactions are well treated by this approximation because these are relatively weak interactions and the stationary approximation for the wave function is valid. I,ÄJČ1Š˙˙˙˙˙˙˙˙˙˙˙˙JČ‹ÍThe AMMP instruction setU!ČŸĘ4 6€C€€‚‚ƒ‚‚ƒ‚ƒ‚ƒ‚ƒ‚ƒ‚ƒ‚˙The AMMP languageThe general syntax of the AMMP language is:keyword parameter(s) ; for a command and# anything ; for a comment.label: ; for a loop label or jump target.The ';' is a required termination character. Parameters can be explicit numbers (1.00), predefined variables (x), or indexed atomic parameters (i.x is the x coordinate of the atom with serial number i and 1.q is the charge of the atom with serial number 1).AMMP is not case sensitive. Commands can span several lines, but each keyword must be contiguous.1 JČĐĚ% €€€ƒ‚˙Atoms are assigned a unique integer serial number and referred to by this number. For polymers 100*residue number + atom_number_in_the_residue is used. This makes it easy to convert between serial number and atomic residue. With 32 bits you will run out of memory well before you will run out of integers. Atom names are given by convention as residue.atom (i.e. "ala.ca"). IF THESE CONVENTIONS ARE NOT FOLLOWED THEN AMMP WILL RUN, BUT WILL PRODUCE INCORRECT PDB FILES AND HAVE DIFFICULTY REFERENCING ATOMS BY NAME.ť‡ŸĘ‹Í4 6€€€‚ă8Żóމ‚‚そ‰‚‚˙Commands by function List the commands roughly grouped by their functions.Commands by name List the commands alphabetically.T#ĐĚßÍ1e)˙˙˙˙˙˙˙˙˙˙˙˙ßÍÆCommand list by functional groupingU.‹Í4Î' €\€€‚‚‚ƒ‚˙Command List by FunctionStructural dataŒKßÍŔÎA#R€–ŁC €€€‚˙€$€‚˙˙˙angle angle Iatom Jatom Katom force_constant angle_target;I4Î ĎA#R€ŁC €€€‚˙€ €‚˙˙˙abcIŔÎRĎA#R€ŁC €€€‚˙€ €‚˙˙˙av5y6 ĎËĎC#V€lŁC €€€ƒƒ‚˙€€‚˙˙˙bond bond Iatom Jatom length force_constant;‚ARĎYA#R€‚ŁC €€€‚˙ËĎY‹Í€€‚˙˙˙hybridhybrid Iatom Jatom Katom Latom force_constant target ;śËĎ]N#j€mŁC *€€€€‚ăžw˝N‰‚˙€B€‚‚‚˙˙˙inactive/active/nzinactiveactive iatom jatom; activates atoms iatom to jatom.Inactive iatom; inactivates iatom.Nzinactive iatom jatom; inactivates the atoms not at 0,0,0.c"YŔA#R€DŁC €€€‚˙€€‚˙˙˙momparmompar Iatom chi jaa ;K ] A#R€ŁC €€€‚˙€€‚˙˙˙morseŸ^ŔŞA#R€źŁC €€€‚˙€€‚˙˙˙noelnoel Iatom Jatom r_mean delta_low delta_high force_constant_low force_constant_high ;|; &A#R€vŁC €€€‚˙€€‚˙˙˙restrain restrain Iatom Jatom length force_constant ;”>ŞşV#z€}ŁC €€€‚˙8€€€€‚€€‚€€‚˙˙˙tailortailor exclude iatom jatom ; remove the iatom-jatom distance from the non-bonded calculations.tailor include iatom jatom; add the iatom-jatom distance to the non-bonded calculations.tailor qab iatom q a b ; set the q a b terms for atom iatom. It is easier to use the mov command to do this.ԑ&ŽC#T€#ŁC €€€‚˙€€‚‚˙˙˙tethertether Iatom force_constant X Y Z ; (an atom to X Y Z)tether all force_constant ; (All non zero atoms to their current positions)™Xş'A#R€°ŁC €€€‚˙€€‚˙˙˙torsiontorsion Iatom Jatom Katom Latom force_constant modulus location_of_maximum ;~7ŽĽG#^€nŁC €€€‚˙€ €ăqWB—‰‚˙˙˙useuse ; selects the potentials8'Ý& €$€€‚‚‚‚˙Input/OutputܚĽšB#R€5Ľľ €€€‚˙€€‚˙˙˙readread file_name; opens and reads an AMMP file. The commands are executed as they are read and can be a mixture of data and manipulation commands.w6Ý0A#R€lĽľ €€€‚˙€€‚˙˙˙outputoutput file_name; opens a file for writing.Ÿ^šĎA#R€źĽľ €€€‚˙€€‚˙˙˙close close ; closes the current file. Close will not do anything if a file is not open.öł0Ĺ C#T€gĽľ €€€‚˙€€‚‚˙˙˙dumpdump ; as in dump bond angle; writes the data to the current output file or to the screen. dump pdb generates a pdb file.Dump force dumps the force terms, and dump velocity the velocities. Dumping the velocities allows you to restart dynamics. You can also save disk space by dumping the geometry (bonds, angles, …) separately from the atoms. The atoms can then be dumped or re-read during the calculations.ąpĎv A#R€ŕĽľ €€€‚˙€€‚˙˙˙echoecho on; echo off; echo off; turns off printing of most messages. echo on; or echo; turns it back on.=Ĺ ł % €0€€‚‚‚˙Energy minimization€9v 3 G#^€rŇˆ €€€‚˙€€€€‚˙˙˙bfgsbfgs nstep toler; BFGS quasi-newton optimizer–Ił É M#j€’Ňˆ "€€ăđL¤ €‰‚˙€€€€‚˙˙˙cngdelcngel nstep npivot toler ; conjugate gradients optimizerM 3  A#R€Ňˆ €€€‚˙€€‚˙˙˙geneticK É a A#R€Ňˆ €€€‚˙€€‚˙˙˙grasp†3 ç S#v€fŇˆ "€€ăs瀉‚˙(€€€€€€‚˙˙˙gsdggsdg low_atom high_atom ; or gsdg ; Ôa H#^€ŠŇˆ €€€‚˙€€€€‚˙˙˙polytopepolytope imin imax niter vstart vfinal ; perform polytope simplex optimization on atoms imin to imax. Use niter steps. Vstart is the initial variance and Vfinal is the target (desired) variance. Ĺç @H#^€‹Ňˆ €€€‚˙€€€€‚˙˙˙rigidrigid imin imax niter vstart vfinal ; Use the quartenion rigid body optimizer on atoms imin to imax. Use niter steps with a starting variance of vstart and a desired tar@‹Íget of vfinal.ƒ<Ÿ@G#^€xŇˆ €€€‚˙€€€€‚˙˙˙steepsteep nstep toler ; Steepest descents optimizerŒE@+AG#^€ŠŇˆ "€€ăx‚83€‰‚˙€&€‚˙˙˙tgroup/tsearch see the page for this and the related commands.J Ÿ@uAA#R€Ňˆ €€€‚˙€€‚˙˙˙TmapI+ABG#^€’Ňˆ €€€‚˙€€€€‚˙˙˙tmintmin ii j k l nstep ; search the torsion defined by ii j k l.›TuA BG#^€¨Ňˆ €€€‚˙€€€€‚˙˙˙tsettset ii j k l angle; sets the torsion defined by atoms ii j k l to angle.K BëBA#R€Ňˆ €€€‚˙€€‚˙˙˙truncK  B6CA#R€Ňˆ €€€‚˙€€‚˙˙˙trustFëB|CA#R€ Ňˆ €€€‚˙€€‚˙˙˙ŸR6CDM#j€¤Ňˆ €€€‚˙(€€€€€€‚˙˙˙momaddmomadd low_atom high_atom; or momadd atom; set up MOM calculations™R|C´DG#^€¤Ňˆ €€€‚˙€ €€€‚˙˙˙mommom charge nsteps; peform MOM charge calculations on the defined atoms.PDE4 8€8€€‚ă…Iáń€‰€‚€‚˙Molecular Dynamicsi(´DmEA#R€Pxâ €€€‚˙€€‚˙˙˙v_maxwellv_maxwell temp dx dy dz ; _EĚEA#R€<xâ €€€‚˙€€‚˙˙˙v_rescalev_rescale temp ;FmEFA#R€ xâ €€€‚˙€€‚˙˙˙t-ĚE†FG#^€Zxâ €€€‚˙€€ă…Iáń‰‚˙˙˙hpacplease see the help page for theseIFĎFA#R€xâ €€€‚˙€ €‚˙˙˙pacL †FGA#R€xâ €€€‚˙€€‚˙˙˙pacpacK ĎFfGA#R€xâ €€€‚˙€€‚˙˙˙ptpacJ G°GA#R€xâ €€€‚˙€€‚˙˙˙tpacL fGüGA#R€xâ €€€‚˙€€‚˙˙˙verletF°GBHA#R€ xâ €€€‚˙€€‚˙˙˙ŃüGUIB#R€Łxâ €€€‚˙€€‚˙˙˙normalnormal damp; calculates the normal modes. If damp is greater than 0 display them. Normal uses a finite difference approach to the force matrix and can be rather slow with more than 50 or so atoms.6BH‹I% €"€€‚‚‚˙MathematicalÎUIĄJH#^€Ŕš €€€‚˙€€€€‚˙˙˙setfsetf variable_name value|variable_name; define a floating point variable setf a 1.; creates the variable a with value 1. Setf a 2; then moves the value to 2. Setf a b; sets the value of a to b.–O‹I7KG#^€žŔš €€€‚˙€€€€‚˙˙˙seti seti variable_name value|variable_name; define an integer variableśoĄJíKG#^€ŢŔš €€€‚˙€ €€€‚˙˙˙movmov variable variable_name|value ; set the value of a variable (which will be created if it is new).v/7KcLG#^€^Ŕš €€€‚˙€ €€€‚˙˙˙fixfix variable_name; convert to integerFíKŠLA#R€ Ŕš €€€‚˙€€‚˙˙˙żxcLhMG#^€đŔš €€€‚˙€ €€€‚˙˙˙addadd variable_name|value variable_name|value ; add two numbers. add a b; adds a to b and puts the result in a.ՍŠL=NH#^€Ŕš €€€‚˙€ €€€‚˙˙˙subsub variable variable ; subtract one number from another sub a b; calculates a -b and puts it in a. sub a 1; subtracts 1 from a.|5hMšNG#^€jŔš €€€‚˙€ €€€‚˙˙˙mulmul variable variable; multiply two numbers”M=NMOG#^€šŔš €€€‚˙€ €€€‚˙˙˙divdiv variable variable; divide two numbers (div a b sets a to a/b)x1šNĹOG#^€bŔš €€€‚˙€€€€‚˙˙˙sqrtsqrt variable ; return the square rootŸXMOp€G#^€°Ŕš €€€‚˙€€ĹOp€‹Í€€‚˙˙˙randfrandf variable ; return a variable. The variable iseed initializes the RNG.FĹOś€A#R€ Ŕš €€€‚˙€€‚˙˙˙ Ĺp€ÁH#^€‹Ŕš €€€‚˙€€€€‚˙˙˙serialserial variable residue_number atom_name ; sets the variable to the serial number of the atom_name in residue_number (serial j 100 ca finds the serial number for ca in residue 100).ˆAś€K‚G#^€‚Ŕš €€€‚˙€€€€‚˙˙˙indexindex a b; puts the serial number of the b atom in a.FÁ‘‚A#R€ Ŕš €€€‚˙€€‚˙˙˙¤]K‚5ƒG#^€şŔš €€€‚˙€ €€€‚˙˙˙nopnop variable; does nothing, echos the variable value. Seti I 1; nop I; prints 1.F‘‚{ƒA#R€ Ŕš €€€‚˙€€‚˙˙˙N 5ƒɃA#R€Ŕš €€€‚˙€€‚˙˙˙jes/jnesL {ƒ„A#R€Ŕš €€€‚˙€€‚˙˙˙je/jneM Ƀb„B#T€Ŕš €€€ƒ‚˙€€‚˙˙˙jg/jl S„…M#j€ŚŔš €€€‚˙(€€€€€€‚˙˙˙min/maxmin a b; returns the minimum of a or b. max a b returns the maximumFb„H…A#R€ Ŕš €€€‚˙€€‚˙˙˙v5…ž…A#R€jŔš €€€‚˙€€‚˙˙˙labelsa label is string: ; the colon is requiredL H… †A#R€Ŕš €€€‚˙€€‚˙˙˙linmin•Sž…Ÿ†B#T€ŚŔš €€€‚˙€2€‚‚˙˙˙loopi, loopf constructloopi and loopf are constructs for interactive looping.$ †Æ" €€€˙NŸ†‡1ć˙˙˙˙˙˙˙˙˙˙˙˙‡šĘAlphabetical list of commandsK!Æ\‡* $€B€€‚ƒ‚ƒ€‚˙Alphabetical Command ListM ‡ЇD#X€öd €€€€‚˙€€‚˙˙˙abcN \‡÷‡D#X€öd €€€€‚˙€€‚˙˙˙add O ЇFˆD#X€öd €€€€‚˙€€‚˙˙˙angleM ÷‡“ˆD#X€öd €€€€‚˙€€‚˙˙˙av5N FˆáˆD#X€öd €€€€‚˙€€‚˙˙˙bfgsP “ˆ1‰D#X€öd €€€€‚˙€€‚˙˙˙bond T ህ‰G#^€öd "€€ăđL¤ €‰‚˙€€‚˙˙˙cngdelN 1‰ӉD#X€öd €€€€‚˙€€‚˙˙˙dumpQ …‰$ŠG#^€öd €€€€‚˙€€€‚˙˙˙divN ӉrŠD#X€öd €€€€‚˙€€‚˙˙˙echoM $ŠżŠD#X€öd €€€€‚˙€€‚˙˙˙fixQ rŠ‹D#X€öd €€€€‚˙€€‚˙˙˙geneticO żŠ_‹D#X€öd €€€€‚˙€€‚˙˙˙graspR ‹ą‹G#^€öd "€€ăs瀉‚˙€€‚˙˙˙gsdgS _‹ŒG#^€öd "€€€€€‚˙€€‚˙˙˙ hpacSą‹WŒE#Z€öd €€€€ƒ‚˙€€‚˙˙˙hybrid `ŒˇŒA#R€>öd €€€‚˙€:€‚˙˙˙inactive/active/nzinactiveK WŒA#R€öd €€€‚˙€€‚˙˙˙indexN ˇŒPA#R€öd €€€‚˙€€‚˙˙˙jes/jnesL œA#R€öd €€€‚˙€€‚˙˙˙je/jneM PéB#T€öd €€€ƒ‚˙€€‚˙˙˙jg/jlL œ5ŽA#R€öd €€€‚˙€€‚˙˙˙labelsL 鍁ŽA#R€öd €€€‚˙€€‚˙˙˙linmin[5Ž܎A#R€4öd €€€‚˙€0€‚˙˙˙loopi/loopf constructM Ž)A#R€öd €€€‚˙€€‚˙˙˙min/maxI܎rA#R€öd €€€‚˙€ €‚˙˙˙momL )žA#R€öd €€€‚˙€€‚˙˙˙momaddL rŔA#R€öd €€€‚˙€€‚˙˙˙žŔÆmomparK žaŔA#R€öd €€€‚˙€€‚˙˙˙morseIŔŞŔA#R€öd €€€‚˙€ €‚˙˙˙movIaŔóŔA#R€öd €€€‚˙€ €‚˙˙˙mulJ ŞŔ=ÁA#R€öd €€€‚˙€€‚˙˙˙noelIóŔ†ÁA#R€öd €€€‚˙€ €‚˙˙˙nopL =ÁŇÁA#R€öd €€€‚˙€€‚˙˙˙normalM †ÁÂA#R€öd €€€‚˙€€‚˙˙˙output IŇÁhÂA#R€öd €€€‚˙€ €‚˙˙˙pacL ´ÂA#R€öd €€€‚˙€€‚˙˙˙pacpacN hÂĂA#R€öd €€€‚˙€€‚˙˙˙polytopeK ´ÂMĂA#R€öd €€€‚˙€€‚˙˙˙ptpacM ĂšĂB#T€öd €€€ƒ‚˙€€‚˙˙˙randfJ MĂäĂA#R€öd €€€‚˙€€‚˙˙˙readN šĂ2ÄA#R€öd €€€‚˙€€‚˙˙˙restrainL äĂ~ÄA#R€öd €€€‚˙€€‚˙˙˙rigid L 2ÄĘÄA#R€öd €€€‚˙€€‚˙˙˙serialJ ~ÄĹA#R€öd €€€‚˙€€‚˙˙˙setfK ĘÄ_ĹA#R€öd €€€‚˙€€‚˙˙˙seti J ĹŠĹA#R€öd €€€‚˙€€‚˙˙˙sqrtK _ĹôĹA#R€öd €€€‚˙€€‚˙˙˙steepJ ŠĹ>ĆA#R€öd €€€‚˙€€‚˙˙˙sub L ôĹŠĆA#R€öd €€€‚˙€€‚˙˙˙tailorL >ĆÖĆA#R€öd €€€‚˙€€‚˙˙˙tether\ŠĆ2ÇG#^€*öd "€€ăx‚83€‰‚˙€&€‚˙˙˙tgroup/tsearchJ ÖĆ|ÇA#R€öd €€€‚˙€€‚˙˙˙tmapJ 2ÇĆÇA#R€öd €€€‚˙€€‚˙˙˙tminM |ÇČA#R€öd €€€‚˙€€‚˙˙˙torsionJ ĆÇ]ČA#R€öd €€€‚˙€€‚˙˙˙tpacK ȨČA#R€öd €€€‚˙€€‚˙˙˙truncK ]ČóČA#R€öd €€€‚˙€€‚˙˙˙trustJ ¨Č=ÉA#R€öd €€€‚˙€€‚˙˙˙tsetIóȆÉA#R€öd €€€‚˙€ €‚˙˙˙useO=ÉŐÉA#R€öd €€€‚˙€€‚˙˙˙v_maxwellO†É$ĘA#R€öd €€€‚˙€€‚˙˙˙v_rescaleL ŐÉpĘA#R€öd €€€‚˙€€‚˙˙˙verlet*$ĘšĘ% € €€‚‚‚˙1pĘ˙˙˙˙1˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙{r0HelvÄ^ƒFsFŻ&$epŠ„˘*Fű˙Nâ ÍÄꉀ„ĺŔ Ą„8{‡‚/Œ8ę‰€.…z€+Š€řĺ€Ŕ 8.…ę‰{‡+Š€Ŕ ĺzzĺ€ę‰€ř€„řę‰+ŠŔ €Ŕ {‡/&;)i24˙vöV¸ PšhJ3˙˙0ů0˙˙˙˙activeadding hydrogensamortizationanalyzing geometry Atomic parameterscngdelcommandsCommands, alphabetical listingCommands, functional listing conjugate gradients$constraints(creating a molecule,Defining Molecular Geometry0distance geometry4Dynamics8energy<energy functions@energy minimizationDexisting structureHFMMLforce fieldPgeometry qualityTgradient optimizationXgsdg\inactive`instructionsdkinds of potentialshmeaning of lifelmeaning of resultspmmboxtmolecular dynamicsxmotion|mxdq€new molecule„nzinactiveˆoptimizationŒoverviewpartial structure”pdb filesœposition constraints potentials¤quality of geometry¨regularizationŹresults, meaning°top of the heap´torsion manipulations¸Torsion searchźwhat are those cryptic thingsŔ‹ň&G ‹Ů‹NţV‹ű‹đŽÚŃéóĽÉó¤Ä^&ÇG ‹Fţ&‰G =’snÄ^&‹G&‹W&9Ww]r&9GsU¸’&+G ‹ř+Ň&‹O&‹w&+O&w;ňwr;Čs&‹&++ŔP&˙w&˙w&Ä_&˙wšŕ1xäƒÄ=˙˙u;Đu ë5‹vëb‹vWŽF&‹D&‹T&D RP&Ä\&˙wš2BĺƒÄ‰Fţ=˙˙u č2ţŽ"0&ŁPTë;ÇtŽ"0&ÇPT¸ëM‹Ç+ɎF&|&L&D ŽF&‹D &9D wéWţ&‹D&‹T&D @@&‰&‰T&‹| ŒŔ&Ä\&‹ ŽŔ&L +Ŕ^_‹ĺ]U‹ěƒěWV‹~ ‹v‹ßŽF N‹ĆŃŕŃŕ‰^üŒFţŘ&‹&‹W‹^ü&‰&‰W ö~‹F PW˙v˙vVš$F´ĺ^_‹ĺ] U‹ěƒěWVÄ~&ƒ}u&ÇEë&ÇE ˙v˙v˙vWč‹ý Ŕt HHt7‹vë8‹v‹F‹ŢŃăŃă‹ĎÄ~ &‰ &‰A‰vţFWÄ^&˙w&˙7˙vţšhE,ćë¸˙˙됋Ć^_‹ĺ]ÂU‹ěƒěWV‹v öt{‹~‹FŽF&ĉ^řŒFú&˙w&˙7˙v ˙v ˙^ ŔtQ˙v˙v˙vú˙vřčřü Ŕt HtHt8ë0˙vWÄ^&˙w&˙7Vš$FŒćë‰vţN˙vWÄ^&˙w&˙7˙vţč´ţ öu‘ë+Ŕë¸^_‹ĺ]U‹ěWV‹vŽF&ƒźÖtk&˙´Ö&˙´Ô&˙´Ň&ĜÎ&˙wš`3âƒÄ‹řƒ˙˙učüŽ"0&ŁPT+Ŕë;Ž^9źÖt¸î܎Ŕ&ÇPT +Ŕš%éŽŮë‹„Ö+ŇĜÎ&G&W‰”Ö¸ëސ^_‹ĺ]ÂU‹ěƒěWVƒn Ä^ &‹‰Füƒ~üte¸Ä^&+‡Ö+FüÉ#ÁFü‰Fţ Ŕt3&‹ˇÖ&ğŇ‹F ‹V ‹NţQ8‹đŽÚŃéóĽÉó¤YÄ^&ÖN )Nüƒ~ütĽ˙v˙včűţ Ŕu˜ë¸^_‹ĺ]ʐU‹ěƒěWV‹v‹F Ćt(ŽF&‹„@&‹”B‹ř‰VţVšŚ čƒÄ‹Nţ‹÷‰N/&;)Lz~‹F‹÷ŽŘ‰~ë˙˙ş˙˙˙˙Help with AMMPLicense and disclaimer of warrantyřReading an existing coordinate fileĄ„The Atoms fileMolecular Templates€Creating a new molecule€„Completing a Partial Structure+ŠChoosing potentialsĺControlling the long range termsŐMinimizing a molecule8Conjugate Gradients.…GSDGę‰Position constraintsExplicit Torsion SearcheszRunning molecular dynamicsŔ Understanding the resultsR The Meaning of it all{‡The AMMP instruction set/ŒCommand list by functional grouping‚Alphabetical list of commandsuÁt‹FPQ‹F PVšŇŻ0ƒÄ=Ŕ÷Řë+Ŕ^‹ĺ]ʐU‹ěƒěWV‹~˙v˙všş+1ƒÄ‹đŽF&‰5Ä^&‰7+Ŕ‰Fţ‰FúÄ^ &‰Ä^&‰‰vü‹vţ‹N Ž^ëYŠ*ä=\twL,.t ţČt, t'ë>ŽF&‰5ë5ÇFúDŽF ‹Ů&‰‹FüŽF&‰ëÄ^&ǍDÄ^&‰ŽF ‹Ů&‰F‹^€8u ¸Y,ŽŘƒ~úu Ä^&‰7ëÄ^ &ƒ?.u ‹FüŽF&‰^_‹ĺ]ĘU‹ěƒěV˙v ˙v˙vč6‹đ‰Vţ Đu!¸P¸Ě*P¸Pš`3U2ƒÄ¸PšÎX1ƒÄ‹Ć‹Vţ^‹ĺ]ĘU‹ěƒěV‹F‹VƒŇ‰Fü‰Vţ Ň|-=đ˙v&¸P‹FüƒŇŃęŃŘŃęŃŘŃęŃŘRPšWO´2ƒÄë Pš5I2ƒÄ‹đ‰Vö Đu+Ŕ™ëX‹F‹VŽFö&‰&‰TŒÁƒĆ‹Ţ‰Nî‰vü‰Nţ‰Fř‰VúöF @t&‹Fř‹Vúƒnřƒ^ú ĐtÄvüƒFüsFţ &ĆëڋËVî^‹ĺ]ĘU‹ěƒěWVÄ^ ƒë‹óŒFö&‹&‹WƒŇ ŇuT=đ˙wO‹F‹VƒŇ Ňu?=đ˙w:‹FPVšźN¨2ƒÄ‹đ‰Vö Đt‹F‹VŽFö&‰&‰T‹ĆŒÂé +Ŕ™é˙v ˙v˙včťţ‹ř‰Vę Đtä‹Fę‰~đ‰Fň‹F ‹V‰Fě‰Vî‹F‹VŽFö&9Twr&9s &‹&‹T‰F‰Vƒ~u ƒ~ué—+Ŕş+FěƒÚ‹N‹^ Űuƒů˙v+Űš˙˙;Ór w;Áv‹Ó‹Á+Éť+NđƒŰ;Ór w;Áv‹Ó‹Á‰Fü‰VţRP˙vî˙vě˙vň˙vđš!Ş.ƒÄ +Ŕ‹NüNđFţš|4ÓŕFň+Ŕ‹NüNěFţšN%ÓŕFî‹Fü‹Vţ)FVéZ˙˙v˙v č.‹Ç‹Vę^_‹ĺ]Ę U‹ě˙v˙v č˙v ˙v˙vč˘ý‹ĺ]Ę U‹ěƒěVÄ^ƒë‹óŒFţ&‹&‹WƒŇ Ňu=đ˙v ˙vţVšHO5ë ˙vţVš 5p3ƒÄ^‹ĺ]ʐU‹ěV‹v ˙vV˙v ˙v˙včüý‹đ‰V Đu!¸P¸ă*P¸Pš`3O5ƒÄ¸PšÎů4ƒÄ‹Ć‹V^‹ĺ]Ę U‹ěƒěWV‹~‹v ŽF&Š*ä+ŇŇRPWŒŔŽF &Š *íΌÂRQ‰~ü‰FţŒÇš!X4ƒÄ Ä^ü&ŠŽÇ&‹Ć‹×^_‹ĺ]ĘU‹ěƒěWVĹ~ ÄvŠ‹Č&*ˆFýĆFţ&Š*ÁŇ"ÂÁˆF˙ëŠ&*ˆFţ Ŕu ţF˙GF€~˙ué¸ď1ŽŘ€~ţt} ë€~ý| ~¸ë+Ŕë¸˙˙^_‹ĺ]ʐU‹ěƒěWV‹vŽF&ŠˆF˙*ä+ŇRPŒÁDQPQV‹ůš!œ5ƒÄ Š^˙*˙ŽÇ&ˆ8‹Ć‹×^_‹ĺ]ʐU‹ěƒěWV‹v‹FPV‹řšşC5ƒÄ‹Č*ä+ŇRPWVDWP‰Nţš!P6ƒÄ ŽÇŠFţ&ˆ‹ĆŒÂ^_‹ĺ]ĘU‹ěWV‹v ‹~Ž^ ŽF&Š8u €<t!FGëđ/&;)L4:ßtFGë吸ý6Ž˙˙X˙˙˙˙˂űƒĄ„qWB—+Š=Ž˜›b™€”!lŚŔ 8ŻóŽ/ŒňH˜ş€ť‚ďJČʀ„…Iáńzsç.… S$ĺđL¤ 8jŃ"€•tňŁzQ%{‡x‚83Ž}4˛ŇSGřžw˝Nę‰ ÇFŇë&‹D,&‹T.&‰D0&‰T2˙v ˙v ˙vęV+ŔPš´“™€‹ř˙v˙v˙vęVšžkÁ‰FÔljFţŽFę‹Č&‹D™+ÂŃř;Č~¸é~‰~Ö&‹D&‹L I÷é‹Ř&\0&ŽD2‹űŒFދFţ&9G|é ‰~Ü+ŔPŽFę&‹D™RPšf2ű‰F؉VÚ ĐuŽř/&Çž é0‹ř‹Fډ~ä‰Fć˙vęV‰~‰FÄč=öÄ^Â&‰=˙˙u Žř/&Ąž éú˙vŢ˙vÜ˙vć˙vä˙vęVč˛ö ŔtéÚÄ^ä&˙7GŒÂƒŇ‰Fô‰VöRPŽFę&‹D HPVčŐů Ŕt髎Fę&‹L &‹DI÷é&D0&‹T2‹ř‰VŢ˙v ˙v ˙vö˙vôVšF’Ձ Ŕ}é ˙vŢW˙vęVšämD~ ŔubŽFę&‹D™RP˙vć˙vä˙vŢW‰vžŒFŔš!g~ƒÄ ŽFŢ&˙5˙v ˙v Ä^ž&‹G HPS+ŔPPFÎP&˙_8=tT¸.uŽŔ&ƒ>ž u&Çž ˙vÚ˙vؚĘ4źŽFę&˙t.&˙t,ŒÇšĘ4†‚ŽÇ+Ŕ&‰D.&‰D,éÓţ˙vć˙vä˙vęVšäms ŔuŔ˙vÚ˙vؚĘ4قŽFŢ&‹E™ŒÁÄ^č‰Fş‰Vź‹Fҙ‰Fś‰V¸&‹G™+FşVź+FśV¸-ƒÚRP‰~˛‰N´~҃Ç‹÷‰NöQW~ţQWš!ô‚ƒÄ ‹F֙RP˙v ˙v ‹FöPV‹řš! ƒƒÄ ‹FԙRP˙v˙vvÖWVš!F‚ƒÄ Ä^˛&˙G‹Fţ&)G&€OÄ^č&ƒG"&ƒW$&€O+ŔŽř/&Łž ^_‹ĺ]Ę U‹ěƒě.WV‹F‹V‹đ‰VţRP˙v ˙v FäP+ŔPPPšroу‰Fú Ŕtéő‹~ŽFţ&‹D,&‹T.&‰D0&‰T2&‹L ‹Ř&‹DI‰^ŕ‰Vâ÷éËVâ‰Fî‰VđFčRPV+ÉQ‰F܉Vމv،Fښ´“ěƒ‹N܋VŢȉNę‰VěRQ˙vÚ˙vؚžkţƒ˙vW˙vÚ˙v؉F֚žk„;FÖt1˙v˙v˙v ˙v šˆK„‰Fú ŔuV˙v˙v˙v ˙v ˙vWčű‰Fúë=‹FPW‹NţQV‰~҉Fԋůšžkw‚™RP˙vÔ˙vŇ˙vě˙vęš!X‚ƒÄ Ä^î&€OŽÇ&€L‹FúŽř/&Łž ^_‹ĺ]Ę U‹ěƒě2WVÄ^‹óŒFŘ&‹_ Űu+ŔP¸™RPšf2…ŽÂ‹Ř&Çé$K‰^ގFŘ&‹D.& D,uVšĐdT… ŔtéŽFŘ&‹D,&‹T.&‰D0&‰T2+ŔP&‹D‹ČŃŕÁŃŕ+ŇŇRPšf2—…‹ř‰VĐ Đu黋FЉ~҉FԍU‹Ę‰FÜÇFě+Ŕ‰Fř‰FöŽFŘ&‹D‰~Ήv֋đ‹ůƒţ˙tUV˙vŢ˙vŘ˙v֚fnrƒ‰Fî‰Vđ Đt.˙Fě‹Fö‹VřŽFÜ&‰&‰U&‰uƒÇÄ^î&‹G™FöVř&‹w ë´˙vĐ˙vΚĘ4Åë3‹v΋NěÄ^Ň&‰˙vĐV+ŔP‹ÁŃáČŃá+ŔƒÁŔPQš&3_„‹đ‹Î‹Ú됎ú/&Çž +Ŕ™^_‹ĺ]ĘU‹ě‹N‹F Át ‹FPQšĘ4Ş„‹ĺ]ʐU‹ěƒě WV‹F Fué׋N ‹F ÁuéʋF PQč[ţ‹ř‰Vú Đué˙v˙v˙v˙v*ŔPšö´{†‹đ‰Vö Đt[ŽFú&‹‹ČŃŕÁŃŕ™ƒŇ‰Fü‰Vţ˙vöV+ŔPPPšüΆ˙vöV˙vúW˙vţ˙vüšfέ†;Füu ;Vţu¸ë+Ŕ Ŕu˙vöVš&ˇÎ„‹FúPWč,˙¸ë2‹FöPVšŚÁۆ Ŕt˙v˙v˙v˙vš~śI†ëА˙vúWčüţ+Ŕ븎ú/&Łž ^_‹ĺ]Ę U‹ěƒě WV‹vŽF&‹D‰Fţ+ÉQ&˙D &÷l RPšf2`‡‹ř‰Vü Đu¸ëVŽF&‹D H÷nţRP&˙t2&˙t0‹Nü‰~ö‰Nř~ţQWŒÇš!r‡ƒÄ ŽÇ&˙t.&˙t,šĘ4ů…ŽÇ‹Fö‹Vř&‰D,&‰T.&‰D0&‰T2+ŔŽü/&Łž ^_‹ĺ]ÂU‹ěƒěWVÄ^&‹G H‰Fţ‹v‹~