+ All Categories
Home > Documents > ChemSW Help

ChemSW Help

Date post: 08-Nov-2014
Category:
Upload: ravindra-desai
View: 26 times
Download: 0 times
Share this document with a friend
Popular Tags:
56
Drawing your first molecule et's draw 2-hexanone (methyl butyl ketone). 2-hexanone has the structure CC(=O)CCCC. 1. Turn on the program. If you are reading this you must have already done this. 2. Clear anything on the screen by hitting the "Clear" button on the upper right. Select "wire frame" from the Display menu at the top of the screen to select the stick drawing display method. 3. The blue message box should now tell you that you are ready to add carbon (C) with a single bond (bond 1). This message box will give you information about the program frequently. 4. Click anywhere on an open space on the drawing window. The letter "C" will appear. We have methane without the hydrogens. 5. Click on the "C". A green line appears. This represents two single bonded carbons. The atoms are located at the ends of the lines. The molecule is ethane without the hydrogens. 6. Click on one of the ends of the lines. Another green line is drawn. We now have n-propane without the hydrogens. 7. Click on one of the ends of the lines. We now have n- butane (CCCC). 8. Click on one of the ends. Now we have n-pentane (CCCCC). 9. Click on one of the ends. The molecule is n-hexane (CCCCCC).
Transcript
Page 1: ChemSW Help

Drawing your first molecule

et's draw 2-hexanone (methyl butyl ketone).

2-hexanone has the structure CC(=O)CCCC.

1. Turn on the program. If you are reading this you must have already done this.

2. Clear anything on the screen by hitting the "Clear" button on the upper right. Select "wire frame" from the Display menu at the top of the screen to select the stick drawing display method.

3. The blue message box should now tell you that you are ready to add carbon (C) with a single bond (bond 1). This message box will give you information about the program frequently.

4. Click anywhere on an open space on the drawing window. The letter "C" will appear. We have methane without the hydrogens.

5. Click on the "C". A green line appears. This represents two single bonded carbons. The atoms are located at the ends of the lines. The molecule is ethane without the hydrogens.

6. Click on one of the ends of the lines. Another green line is drawn. We now have n-propane without the hydrogens.

7. Click on one of the ends of the lines. We now have n-butane (CCCC).

8. Click on one of the ends. Now we have n-pentane (CCCCC).

9. Click on one of the ends. The molecule is n-hexane (CCCCCC).

10. Click on the "O" button at the left side of the window. Now we are ready to add oxygen instead of carbon.

11. Click on the "2" button at the left side of the window. Now we will add atoms with a double bond instead of a single bond.

12. Our carbon atoms are numbered C1C2C3C4C5C6. Click on C2. An oxygen is added with a double bond. We have our target molecule (2-hexanone) without the hydrogens.

13. Add the hydrogens by clicking on the "H" button at the left twice. When asked if you want to add hydrogens to all atoms select "Yes". The hydrogens are added. You can now observe the molecule rotating with the Rotate menu items, calculate physical

Page 2: ChemSW Help

properties with the Calculate menu items, or use the Display menu to change the way the molecule is represented.

14. Let's change the molecule to n-pentanoic acid. We need to change the end carbon next to the carbonyl to oxygen (Change CC(=O)CCCC to OC(=O)CCCC).

15. Hit the Delete button at the left of the screen. Click on the end carbon to delete. It is gone (as well as the attached hydrogens). The delete key can be used to erase mistakes too.

16. Hit the "1" button at the left. This changes the bond type back to 1 and also turns off the delete function. You can hit the Add button as well - this can be used as a "Reset" key when you are in the middle of doing something and change your mind.

17. Hit the "O" button to select oxygen. Click on the carbon attached to the double bonded oxygen. You should have the target molecule without a hydrogen on the new oxygen. Click on the "H" button twice and add hydrogens to all atoms.

18. Change one of the carbons to silicon. Hit the "Other" button. When the periodic table of the elements comes up, click on "Si". Click on the "Change" button at the left of the window. Click on one of the carbons.

19. Let's add a ring to the molecule. Delete a hydrogen by clicking on the "Delete" button and then clicking on a hydrogen. This frees up a valence for the ring addition.

20. Click on the "Rings" button at the left. Select a ring off the list. Pictures of all the rings are in appendix 2 of the manual. When the ring is drawn, click on the atom with the missing hydrogen in the first molecule drawn, then click on an atom in the ring. The ring is added to the first molecule with a bond drawn between the two atoms clicked on.

21. You should have a good idea now how to draw with Molecular Modeling Pro. Good luck.

How to draw a molecule

1. Select the atom type button desired. The choices are found in the buttons at the left of the screen. If you want carbon, you may skip this step. The choices are 'H', 'C', 'N', 'O', 'P', 'S','F', 'Cl', 'Br', 'I' and 'Other'.

2. Click anywhere on the black screen. The selected atom appears in the center of the screen.

Page 3: ChemSW Help

3. Now we are ready for atom number 2. If you want to change the atom type, click on the atom type desired. Click on the bond type desired with the button at the left named '1', '2' or '3'.

4. Click on the atom letter(s) at the center of the screen. The molecule now appears as a line, with the atoms at either end connected by a bond. The atom type is indicated by color: green for carbon, blue for nitrogen, red for oxygen, white for hydrogen and so on.

5. Repeat steps 3 and 4 to add more atoms. Click on the atom itself (end of lines or angle vertices), not on the bonds.

6. To delete atoms, select the delete button at the left and click on the atom to delete.

7. To add the correct number of hydrogens to the molecule click on the 'H' button at the left twice.

8. To change the atom type, click on the atom type button desired, then click on the change button, then click on the atom to change.

9. To change a bond, click on the change button, then click on the bond type, then click on the two atoms making up the bond.

10. To add a ring to the molecule, click on the "Rings" button at the left and select a ring from the list that appears. When the list goes away, click on the atom in the previously drawn molecule that should be connected to the ring, and click on the ring atom to connect to the previously drawn molecule.

11. To start a new molecule without clearing the old one, click on the "New Mol" button at the top of the screen.12. To center the molecule, click on the "Center" button at the top of the screen.

13. To scale the molecule (make it bigger or smaller), hit the "Scale" button at the top of the screen.

14. To clear the molecule, hit the "Clear" button at the top of the screen.

15. To move the molecule, hit the "Translate" button at the top. Click down on and atom in the molecule, and without releasing the mouse button, move the cursor to another location.Let the mouse button go, and the atom and molecule will move in the direction the mouse cursor moved.

16. To delete a bond, click on the "0" button at the left and then click on the two atoms that are bonded.

Page 4: ChemSW Help

How to make a ring

This section describes ways to make new rings not found in the ring library. Rings in the library have been optimized with the MM2 minimizer in MACROMODEL, and should be used if available. The list of rings available is in appendix 2 of the manual. If you want to create a new ring there are several ways to do it.

1. Start with a ring from the library close in structure to the one you want. Change the atoms and bonds as desired. Minimize the new ring with the minimizer found in the Geometry menu until the change in strain energy is small.

2. Click the "Rings" button at the left. Click the 2-D generic button. Type in the number of atoms in the ring, and click on the done button that appears. Change the atoms and bonds as desired, and add any additional atoms needed. Minimize the new ring with the minimizer found in the Geometry menu until the change in strain energy is minimal.

3. Sometimes the only way to make a new ring is to start from scratch. Draw in each atom one by one, changing atom types and bond types as needed. Make the ring geometry as close to what you guess to be right, by a)clicking on the same atom several times, making several attached atoms, then deleting the atoms not in the correct position; or b) by rotating bonds with the Bond item on the Rotate menu. When all atoms are drawn, click on the "Connect"button at the top of the screen and then click on the two atoms that should be bonded to complete the ring. Repeat this for fused ring systems. Minimize the new ring with the minimizer until the change in the strain energy is small.

Your ring can be added to the list of rings by choosing "Save Molecule" item on the "File" menu. Select the "Rings" item off the submenu which appears and choose a DOS file name and ring name to save the ring under.

Colors and Fonts

Colors and fonts are changed using the Format menu. This is a description of the menu items.

If you have not changed them the default atom colors then some of the atoms are:Hydrogen = white Carbon = GreenNitrogen = dark blue Oxygen = RedPhosphorous = purple Sulfur = YellowFluorine = Cyan Chlorine = Light GreenBromine = Brown Iodine = Magenta

The values for these colors are stored in the file Moldat.txt

Page 5: ChemSW Help

Fonts and Colors are handled by the Format menu. Here is a description of the menu items.

Fonts Changes the font, font size, font color for the screen or printer.

Set background colorsThe user selects the background color by clicking on a color, or selecting some custom color.

Set text colorClick on a color to set the text, frame, arrow and graphics objects colors. Also determines the colors of the sticks in ball and stick models.

Make molecule a colorThe user selects the color of one of the molecules by clicking on a color. This option isespecially useful for docking two molecules on each other.

Color molecule by chargeColors atoms by partial charges:

dark blue: most positive light blue: somewhat positivewhite: neutral light red: somewhat negativedark red: most negative

If the rotation option is set to rotate only one molecule, then the user is asked to select

which molecule to color. This makes it possible to color one molecule on the screenby charge, and other molecules by normal color or lipophilicity.

Color molecule by lipophilicityColors atoms by lipophilicity. Calculates this value based on the HLB concept (regions of water and oil solubility):

dark blue: most lipid soluble light blue: somewhat lipid solublewhite: intermediate light bright red: somewhat water solubledark red: most water soluble

If the rotation option is set to rotate only one molecule, then the user is asked to select which molecule to color. This makes it possible to color one molecule on the screen by lipophilicity, and other molecules by normal color or charge.

Color molecule by residueColors the molecule by its residue number. Residue numbers are aquired from Brookhaven and MACROMODEL files made in other programs, or by making molecules with the amino acid or monomer tools supplied with this program.

Page 6: ChemSW Help

Restore molecule colorsRestores molecules to default atom colors.

Set atom colorClick on a color or choose a custom color for an atom type (e.g. carbon normally green). Changes will be registered in the file Moldat.txt and will be saved for future use until you change the color again. If you changed carbon to gray, then all carbon atoms will be colored gray unless changed with one of the menu items above or by this menu item.

Molecular Display Options

The Display menu contains commands for changing the appearance of the molecule, for labelling atoms and for adding special graphical effects to the picture on the screen. Here is a description of the menu items:

Change Display typeMolecular Modeling Pro displays molecules with many different rendering

options. If you own a recent version of Chemsite (May 1996 or later), then MMP also communicates with Chemsite and renders the molecule using Chemsite's rendering options too (Chemsite may have the best shaded sphere rendering routine in the business). After selecting Change Display Type from the Display menu, you get the following options:

A. a list of the various molecules appears on the upper left. You can set the rendering type for each molecule to a different display type, or set all the molecules to the same display type. One of the useful things that can be done when setting molecules to different display types, is to show how a small molecule fits in the cavity of a larger one (display the larger molecule with the Molecule Outline or Wire Frame options, and set the small molecule to ball and stick or space filling or wireframe with a dot surface).

B. Display options:

Wire frame Displays the molecule as a wire frame drawing. This will also clear text and arrows from the screen.

Fast spheres on/offThe molecules are drawn as filled circles sorted along the z axis. The radius of the circle is set using the Graphics Objects item under Draw in the menu. The default is 70% of the Van der Waal's radius (which gives both an indication of molecular shape without too many spurious overlaps). Molecule intersections are not calculated with this option, it simply draws filled circles.

Page 7: ChemSW Help

Ball and stick on/offThe molecules are drawn as ball and stick models, sorted along the z axis (atoms closest to the viewer are drawn last).

Draw atom outlineThis routine draws an outline of the molecule of van der Waal's radius around whatever figure is on the screen. Inside the outline is the currently selected display type (wire frame, ball and stick or fast spheres).

Dot surfaceThis item draws a picture of the molecule as evenly spaced dots. The dot intensity is controlled by the distance from the center of the atom being drawn (center is brighter). Intersections are properly calculated, and the user can select whether the wire frame model of the molecules are included in the drawing. This feature can take a while to draw a moderate sized molecule on a 386 SX-16, but is faster with a math coprocessor or faster computer (real time rotation of small molecules on a Pentium). The higher the dot density number, the faster the molecule will be drawn. Setting the dot density to 1 will result in a space filling model being drawn with a different shading effect than with the space filling model.

Space filling modelA shaded, space filling molecule with properly drawn intersection will be drawn. This is the slowest drawing mode, and should be turned off before doing any time consuming operations such as minimization, conformational analysis or rotations.

You can also control whether atom labels are displayed from within the Display type window.

Ghost imageThe atoms are drawn as gray spheres, then overlayed with the other display options in color.

Show Input buttonsThis items makes the input buttons visible or invisible. You should make them invisible when making a screen print, or they will be included in the picture.

LabelsDisplays the atomic symbols of all non-carbon and non-hydrogen atoms on the molecules. Causes the carbons and hydrogens to be displayed too if "Label carbons" and "Label hydrogens" are checked.

Label hydrogensWhen checked, the program will print the hydrogen labels when the Labels are turned on.

Label carbons

Page 8: ChemSW Help

When checked, the program will print the hydrogen labels too when the Labels are turned on.

Name, formula and molecular weightDisplays the name, formula and molecular weight of the molecules in the upper left corner.

Display hydrogensHydrogens are displayed or not displayed when this button is selected. This routine does not erase the hydrogens from the program's memory (they will be included if the connection table is saved).

Front clipping planePortions of spheres, balls, sticks and wires with z coordinates greater than 0.1 angstrom (i.e. atoms closest to the viewer) are not shown. Selecting this feature a second time redisplays the erased objects. Use of this feature with the Trans Z/ Autorotate option under Geometry will give the user an idea about the location of atoms along the z axis.

Back clipping planePortions of spheres, balls, sticks and wires with z coordinates less than the user selected value (i.e. atoms farthest from the viewer) will not be drawn. Selecting this feature a second time redisplays the erased objects. Use this feature with Front Clipping Plane to obtain slices through a molecule of desired thickness. Use it with Geometry/Trans Z/Autorotate to obtain information about the location of atoms along the z axis.

Add lone pairsSelect this item. Then click on an atom. If the atom is less than tetrahedral a lone pair will be added to the atom. Lone pairs are stored in the connection table as if they are another connected atom. The MACROMODEL number for lone pairs is 63. To delete a lone pair select delete and click halfway between the lone pair electrons. After the lone pair has been drawn, the programs resets to the add atom mode. To add a second lone pair you must select the 'Add lone pair' item again and click on the atom a second time.

Draw a horizontal arrowThe user selects this item, then clicks on a starting and stopping place on the screen. The arrow is drawn from left to right.

Graphics objectsThe color of all graphics objects is set with the coloring options under the Format menu. The objects:

Line (upper left). After clicking on this object the user selects a starting and ending point on the screen to draw a line.

Arrow: after selecting this object, the user select a starting and ending point on the screen for an arrow.

Page 9: ChemSW Help

Arc arrow: Draws a counter-clockwise arc arrow from starting and ending points selected by the user.

Equilibrium arrows: Draws equilibrium arrows from starting and ending points selected by the user.

Dashed line: Draws a dashed line from starting and ending points selected by the user clicking on the screen.

Filled rectangle: The user selects this item, then the upper left and lower right corners to draw a filled rectangle.

Unfilled circle: The user selects this item, then the circle center then the radius.

Filled circle: The user selects this item, then the center and finally the radius.

Percentage of van der Waal's radius for fast spheres: Typing a new value in the text box at the bottom will cause the radius of the fast spheres to change. Hit the DONE button after typing in the desired value. Typing 100 causes spheres with full van der Waal's radius to be drawn. The default value is 70%.

Draw Width: Sets the width (in pixels) of lines and unfilled circles.

Draw Style: Sets the line style: 0=solid; 1=dash; 2=dot; 3=dash-dot; 4=dash-dot-dot; 5 = invisible and 6=inside solid. Any number larger than 6 will be converted to a solid line. Setting draw width to greater than 1 sets draw styles 1 through 4 to 0 (solid line).

FrameThe viewer selects this item, then selects the upper left and lower right corners of the frame on the screen. The frame color can be set with Draw/Color/Set text color.

Rotating molecules

Molecule, how do I rotate thee, let me count the ways...

1. I select "X", "Y" or "Z" off the Rotate menu. I type in an angle and hit the Done button. The program obeys my command.

Page 10: ChemSW Help

2. I select "X", "Y" or "Z" off the Rotate menu. I hit the AutoRotate button. The molecule spins in the direction I requested. I use the buttons in the upper left part of the screen to control the rotations, or the right mouse button.

3. I hit the "x", "y" or "z" keys on my keyboard. The molecule starts rotating as if I selected AutoRotate with the menus.

4. I click the right mouse button: a) Click on right side of window: rotates along y axis b) Click on left side of the windpw: rotate along y axis in the opposite direction. c) Click on the bottom of the screen: rotates along the x axis. d) Click on the top of the screen: rotates along the x axis in the opposite direction.Hold the mouse button down for continuous rotation

The x axis is a line drawn through the middle of the screen or molecule drawn from left to right. You choose whether the molecule center or screen center is used by selecting "Rotation options" from the Rotate menu (screen center is the default). The y axis is a line drawn from top to bottom. The z axis is a line drawn in and out of the screen. You can rotate one or all of the molecules on the screen by choosing from the options displayed after selecting "Rotation options" from the Rotate menu

Optimizing Geometry

Molecular Modeling Pro draws in atoms and bonds with correct bond lengths and bond angles automatically. However this does not prevent atoms from overlapping. There are a number of things you can do to improve the geometry of your molecule after you have drawn it in.

1. Get the rotating bonds in a reasonable conformation. You can do this by intuition (rotate the bonds to a good place by selecting Bond off the Rotate menu) or you can use conformational analysis to find the best conformation for one or two rotating bonds. Select Conformational Energy off of the calculate button. The program will calculate the strain energy at increments in bond angle that you select, and will automatically place the molecule in the low energy conformation (or give you 3-4 different versions of the molecule set in the various local minima). It will also list all the local minima, and you may want to set the molecule to one of the other minima with the "Bond" option on the "Rotate" menu.

2. The strain energy in the molecule can be minimized with the minimizer under the Geometry menu. Select this item, and choose whether to make large, moderate, or small changes (Refine). The "Large changes" option will especially make larger changes to dihedral angles then the "Refine" option. Let the minimizer go until the strain energy does not change (or until the change is very small). You may want to do minimization

Page 11: ChemSW Help

iteratively (back and forth) with conformational energy analysis. The more complicated the molecule, the longer this will take. You can also iterate between the normal MOLY minimizer and the simplex minimization method (check simplex minimization in the minimizer window). Placing the molecule in a reasonable conformation before minimizing is advisable. Removing hydrogens before minimizing ring systems is usually a good idea. Fused ring systems with unsaturation typically take more than 100 iterations of the minimizer to converge. To get the desired ring conformation you may want to move one or more ring atoms (select 2-D geometry and Move atom from the Geometry menu) to their approximate positions before minimizing. Minimize rings before adding ring substituents to increase the speed (but double bond connection off rings should be included to get the right geometry). Minimization often ends in a local minimum, not the global minimum energy for a molecule.

If the program quits minimization with unexpectedly high strain energy there are three things to consider:

a) the program has settled into a local minimum that is not the global minimum. You may want to move some atoms to a more reasonable position (select 2-D geometry and Move atom from the Geometry menu) and minimize again.

b) try rotating the molecule some along the x and y axis (45 degrees might work best) and start the minimizer again. The program tries moving or rotating atoms randomly along the x,y and z axis. If you start the molecule from a different rotational position these movements will be different. Also the program makes smaller and smaller changes as it progresses through minimization, so restarting it will make it start with larger changes again.

c) there may be overlapping unbonded atoms that are so intertwined that the minimizer cannot separate them (e.g. a bond going through a ring would be an example of this). Identify these interactions by selecting "Identify high strain atom overlaps" from the Geometry menu. Hit the "?" key to print the atom numbers next to the drawing of the atoms. Changing your minimization method to simplex minimization may eliminate this problem.

Reasonable strain energies would be less than 10 for aliphatic compounds, 5 and 6 membered rings, and less than 25 for most 2 membered fused rings. Strain will be increased by conjugation, small rings (less than 6 atoms which make more acute bond angles), and high numbers of attachments per atom.

If you start with optimized rings from the ring library or some other optimized molecule and add things to it or modify it you may only want to minimize selected parts of the molecule. You can do this with "Minimize selected atoms" under the Geometry menu.

3. You may intuitively change conformations by moving the atoms (Select 2-D Geometry off the Geometry menu) or rotating bonds (Select Bond off the Rotate menu) and then minimizing the molecule with the minimizer. The minimizer finds a "local"

Page 12: ChemSW Help

minimum. If you start with the "chair" conformation of cyclohexane, it will be minimized to a "chair", but it you start with the "boat" conformation it will minimize to a "boat". To guarantee the conformation you want, move the atoms to a rough approximation of where you want to end.

4. Select "Identify high strain atom overlaps" from the Geometry menu to identify nonoptimized geometry. Rotate a bond to lessen the strain found and check this again.

Converting 2-D structures to 3-D structures

You can convert a directory of 2-D Molfiles to 3-D Molfiles using the batch minimizer in Molecular Modeling Pro. Select "Minimize all molecules in a directory" from the Geometry menu. Select the directory to minimize, the file types to minimize (it will also do MACROMODEL files) and the number of minutes per molecule for minimization. Go away (leave for the night). To finish will take the number of minutes specified times the number of molecules. On a fast computer (Pentium) 10 minutes per molecules may be enough (<60 atoms per molecule). On a 386 SX 16, 30-60 minutes per molecule may be necessary. You can try one molecule out to see how long it will take (Open the molecule from the File menu and Select Minimize from the Geometry menu).

Another tool has been provided to convert 2-D structures to 3-D structures with standard bond lengths and bond angles. Select "2-D geometry" and "Convert 2-D to 3-D" from the Geometry window. Then minimize the molecule by selecting Minimize from the Geometry menu. Save the molecule. This tool usually works, but occasionally will blow up and reorient molecules. Be careful using it on unsaved molecules.

Docking (comparing) two molecules on top of each other

Docking involves placing one molecule on top of another and moving it so its atoms match the atoms of the reference atoms. Docking may be useful for determining how similar two molecules are. Regions of overlap and non-overlap may contain clues to the relationship between structure and activity. For instance if two drugs, one active and one inactive are docked, the region occupied by the inactive, but not the active drug, may be a region to avoid. Regions occupied by the active but not inactive molecule should be included in future drugs. Coloring docked molecules by lipophilicity or partial charge may give further clues to the relationship between structure and properties.

Page 13: ChemSW Help

1. Select Dock (compare) 2 molecules on each other from the Geometry menu.

2.A dialog box appears. Type in the number of atoms in the two molecules to match and check the box if you want to compare mirror images too. Hit Done.

3. Click on the atoms in the two molecules to map on top of one another. The program will then match the molecules so that the square root of the sum of the distance squared between the pairs of atoms you selected is minimized. It does this by translating and rotating the second molecule along the x, y and z axes. After it is done, the program tells you the distance vector between the two molecules. The two molecules appear superimposed on top of each other.

4. To differentiate between the two molecules you will probably want to color code their atoms. Do this by clicking on "Draw", "Colors" and "Make molecule a color", selecting the molecule off the list and selecting a color from the box which appears. Repeat this process for the other molecule if necessary.

Alternatively you can just superimpose the two molecules on top of each other by selecting "Superimpose and Center " from the Geometry menu. This puts the center of the molecules at the center of the screen in their current orientation.

Yet another alternative is to orient the molecules in similar directions. Do this as follows:

1. Select "Place atom at origin" from the Geometry menu. Click on an atom.

2. Select "Orient 1-2 atoms on x axis" from the Geometry menu. Click on an atom.

3. Select "Orient 1-2 atoms in x-y plane" from the Geometry menu. Click on an atom.

4. Select an atom in molecule 2 that corresponds to the atom in molecule 1 from step 1. Repeat step 1 with the atom in molecule 2.

5. Repeat steps 2 and 3 with corresponding atoms from molecule 2.

Finally you can attempt to manually dock two molecules.

1. Use the Translate button at the top of the screen to place one molecule in its best fit on the other.

2. Select "Rotation Options" from the Rotate menu. In the dialog box which appears, Check the box specifying only one molecule is to be rotated.

3. Select "Z" from the Rotate menu. Rotate one of the molecules with the "AutoRotate" button until it matches the other molecule.

Page 14: ChemSW Help

4. Select "Rotation Options" from the Rotate menu. In the dialog box which appears, Uncheck the box specifying only one molecule is to be rotated.

5. Select "Y" from the Rotate menu. Rotate both molecules 90 degrees.

6. Repeat steps 1 through 3.

7. Select "Rotation Options" from the Rotate menu. In the dialog box which appears, Uncheck the box specifying only one molecule is to be rotated.

8. Select "X" from the Rotate menu. Rotate both molecules 90 degrees.

9. Repeat steps 1 through 3.

Drawing a reaction

1. Draw the first molecule.

2. Click the NewMol button at the top of the screen and type in the second molecule's name when requested.

3. Draw the second molecule.

4. Repeat steps 2 and 3 until all molecules are drawn. Do not worry about spacing.

5. Select Reactor from the Tools menu. A new window appears.

6. Examine the column labeled "Step" in the upper spread sheet. Double click on the molecules in this column which are not starting materials until they are correctly identified as intermediates or products. Note that Molecular Modeling Pro only does 2 step reactions at present (intermediates all must be the same reaction step).

7. If the reaction is supposed to be balanced, the text box at the right center labeled "Reaction balanced" should read "Yes" now.

8. Type in reaction conditions, catalysts or non-reactive solvents in the text boxes in the center of screen labeled Text above or below arrows. Note that these descriptions should be brief as their is limited room above and below arrows.

9. If you want to save this reaction hit the "Save" button at the right of the screen.

Page 15: ChemSW Help

10. Hit the "Draw" button at the right of the screen. The reaction will appear with arrows, conditions and proper spacing.

11. To print the reaction Select Print and Print Graphics from the File Menu.

Alternatively you can draw in the reaction by hand. Steps 1-4 are followed as above. The molecules can be placed on the screen by moving them with the Translate button found at the top of the screen. Arrows can be drawn in by selecting "Horizontal arrow" from the Display menu. "+" signs can be added by selecting Insert Text from the Edit menu, as can the molecule names and reaction conditions. To print this reaction, you must select Print and Screen Print from the File menu.

Using the reaction/mixture editor

1. First draw the molecules for the reaction. Draw in the molecules contained in the reaction or mixture of your choice. Do not draw in the reaction arrows, plus signs or text.

2. Choose "Reactor" off of the Tools menu. This will bring up the reaction and mixture editor.

3. The Reactor editor consists of four spreadsheets, only two of which are visible at any time. On first entering the reaction editor, the upper spread sheet is the "Main" editor and the bottom spreadsheet will be referred to as the "solution" spread sheet. The following keys are active: the arrows move you around the spread sheets; the tab keys move you between different areas in the Reactions form; the home key moves you to the left column of the spread sheets and the end to the right column; the backspace key removes one character from a cell, starting with the last character; the delete key deletes all characters from a cell; the insert key is the "undo" key for the delete key. The second column ("Step") behaves differently than all the other columns: double clicking or hitting most keys will cause it to toggle between "starting material", "intermediate" and "product".

5. Balance your reaction equation using the second and fourth columns in the Main spread sheet. When it is balanced, the "equation balanced:" label at the center right will change from "no" to "yes".The results of all of the other numeric fields will change to reflect the change in the reaction ratios too.

6. Changing values in the "moles" and "grams" columns of the Main menu will cause the numeric values in for all compounds to change according to the compound molecular weights, ratios and total reaction volume. The columns affected are all numeric columns in the solution spread sheet and columns 5 and 6 in the main spread sheet. Conversely, changing a numeric volume in the "solution" spread sheet changes only the values for the

Page 16: ChemSW Help

compound changed in all of these columns. In other words, changing results in columns 5 and 6 of Main never change the reaction ratio, while changing any numeric column in Solution always changes the ratio.

7. Problem: Given the reaction ratio you now have, determine how many moles of compound 2 you will use, given 10 g of compound 1 are used. Solution: Type in "10" in the grams column of compound 1 and the answer appears in the "moles" column for compound 2.

8. Problem: Determine the grams you will need of compounds 1, 2 and 3 to make a 0.1 molar solution of each in 250 ml total reaction volume. Type in 0.25 in the "total volume" text box. Type in "0.1" for each of the compounds in the "molarity" columns in the solution spread sheet. The answer appears in the "grams" column of the main spread sheet.

9. Problem: How many moles of compound 1 are contained in a 0.05% solution of compound 1 in 2 liters total volume. Type in "2" in the "total volume" text box. Type in 0.05 in the "% (w/v)" column. The answer appears in the "moles" column of the main spread sheet.

10. Balance the equation again, using the ratio column.

11. Type in the reaction conditions in the text boxes labeled "text above arrow" and "text below arrow".

12. There are two additional spreadsheets that contain additional information about the reactions or mixtures. These are accessed by the "Info" and "Props" buttons. The Info panel contains columns for the trade names, manufacturer, CAS number, molecular formula and percent of each ingredient. Most of this information you must type in. It will be stored with the reaction. The Props panel contains the molecular volume, HLB, and Hansen 3-D solubility parameters for each component. Associated with the Props spread sheet is a panel containing the "total" HLB, and Hansen 3-D solubility parameter values for the reactants and products. This total value changes as you change the reaction ratios in the Main spread sheet. Clicking on the Info and Props button a second time returns to the Main and Solution spread sheets respectively.

13. Hit the "Draw" button. The reaction is drawn and you are returned to the MMP drawing screen. If your reaction is not drawn aesthetically, then you can redraw it manually as in the slide show example (e.g. with molecule translations, and manual placement of text and arrows).

14. Hit the "Wire frame" item in the Display menu. The text and arrows will disappear. Hit the "Space molecules evenly" item in the "Geometry" menu. The text and arrows will return. The program will keep these arrows and text in memory until you change the reaction or quit the program.

Page 17: ChemSW Help

Visual Basic code example: Reaction or mixture files (*.rct):

The following Visual Basic code reads in a reaction file. Hopefully you can deduce the file structure from this example. Persons owning legal copies of the Molecular Modeling Pro program may use this code in their application without paying me royalties and without further permission. The reaction/mixture file format is placed in public domain:

Sub GetMMReaction (FileName$, molname$(), ReactionName$, fileopen%)

' inputs a reaction (*.rct) file' FileName$ = DOS file name for the reaction file' molname$() = names of molecules in the reaction or mixture' ReactionName$ = name of reaction' fileopen% = 1 if connection tables are to be read in, =0 if only molecule

information 'is to be read.' text1a$-text4a$ = text above and below reaction arrows' numM%, numMols% = number of molecules in the reaction (numMols is

a global 'variable)

' Globally declared variables:' nend% = total number of atoms in the reaction' ratio() = ratio of molecules to each other' reacts%() = 1 if raw material, 2 if intermediate and 3 if a product' tradename$() = trade names of the molecules' manufacturer$() = molecule manufacturer' molform$() = molecular formulas' cas$() = CAS numbers of the molecules' percentile() = percentage by weight of raw materials in the reaction

mixture

' WorkingFileName = molecule connection table (MACROMODEL format) On Error GoTo erring screen.MousePointer = 11 Open FileName$ For Input As #2 Input #2, ReactionName$, numM%, text1a$, text2a$, text3a$, text4a$,

text5a$ nend% = 0 numMols% = 0 For i% = 1 To numM% Input #2, molname$(i%), ratio(i%), reacts%(i%), tradename$(i%),

manufacturer$(i%), molform$(i%), cas$(i%), percentile(i%), WorkingFileName

name3$(i%) = WorkingFileName

Page 18: ChemSW Help

If fileopen% Then If WorkingFileName = "" Then GoTo 1001 Call getNewMol(1, nend% + 1, 1, i%) 'contains routine MMInput to

input ' MACROMODEL files... End If Next i% Close #2 numMols% = numM% If fileopen% Then Call SpaceIt(molname$(), text1a$, text2a$, text3a$, text4a$,

text5a$)1001 Close screen.MousePointer = 0

Exit Suberring: MsgBox "Error" + Str$(Err) + " in getting the file " + FileName$ Resume 1001End Sub

Making a polymer

1. Select "Add monomer" from the Tools menu.2. Check the "Automatic addition" check box.3. Type in the number of monomers to join. Remember the program's limit is 2500 atoms maximum!4. Select the monomer from the file list.

Some of the polymers derived from the monomers in the list:Acryloni.Dat = polyacrylonitrile (Orlon, Acrilan)MMA.Dat = polymethylmethacrylate (Plexiglas, Lucite)Polyethy.Dat = polyethylene Polyprop.Dat = polypropylene

PEG.Dat = polyethylene glycol PPG.Dat = polypropylene glycolPET.Dat = polyethylene glycol terephthalatePVC.Dat = polyvinylchloride

Also included are monomer units of DNA.

5. Hit the "Done" command button.

6. The program will Draw and connect the monomers as you watch (or go away to do something else).

7. Hit the "Cancel" button and the Monomer window goes away or start from step 1 and select a new monomer.

Page 19: ChemSW Help

Adding a new monomer to the file list.

If the monomer you want is not on the file list, then you may want to add a new monomer to the file.

1. Connections are made between the first and last atoms drawn in the monomer. Draw the molecule so that the last atom drawn is an atom connected to atom 1 in the completed polymer.

2. Save the molecule in the MMP\Monomer directory as a MACROMODEL file. Use the .dat DOS file extension.

3. The monomer should appear in the Monomer window file list. If it doesn't, Close the Add Monomers window. Load it again by selecting Add monomer from the Tools menu.

Printing Molecules

To print out a crisp drawing of the current molecules:

1. Draw a molecule2. If you want to draw a reaction. make sure you have defined the starting materials and products by using the reaction/mixture editor

3. Choose to turn labels on or off by selecting "Labels" from the Display menu.

4. Choose between Wire frame, Ball and Stick and Fast Spheres from the Display menu.

5. If desired, turn on Ghost image or Atom outlines on the Display menu.

6. Make sure your printer is on and connected.

7. Select "Print" and "Print Graphics" from the File menu.

8. The program will print in black and white or color a drawing of the molecule complete with specified title, molecule names, reaction arrows, reaction plus signs, and reaction conditions. The type of representation of the molecule (wire frame, ball and stick etc.) will be the same as that currently selected in the drawing mode.

To copy the screen to the printer (including colors on a color printer):

1. Draw a molecule

Page 20: ChemSW Help

2. Select the colors and fonts you want from the Format menu.

3. Add text to the screen as desired by selecting "Insert Text" from the Edit menu.

4. Add bulleted text lists to the screen by selecting "Bulleted text list" from the Edit menu.

5. Add frames, arrows, circles and lines with the last 3 menu items on the Display menu.

6. Make sure your printer is on.

7. Select "Print" and "Screen print" from the File menu.

8. The program will print screen bit by bit to the printer, as it appears on the screen. The resolution of the drawing will be less than the "Print Black and White" option.

To print out all the molecules in a directory:

1. Make sure your printer is on and connected.

2. Select "Print" and "Entire Directory" from the File menu.

3. Select the directory to print from the list that appears.

4. Select the number of molecules per page, whether hydrogens will be displayed and if the printing should occur after every page from the dialog box which appears. Problems with the printing may occur if you have a really large job, with many molecules per page and have set your printers time-out to a small value (the printer will print out partial pages).

5. Type in the page title (will appear at the top of every page). Molecule names will automatically be printed out below the molecule.

6. For large jobs this will take a while to complete.

To print out the structure with its physical properties.

1. Draw a molecule2. If you want to draw a reaction make sure you have defined the starting materials and products by using the reaction/mixture editor.

3. Make sure your printer is on and connected.

4. Select "Print structures and properties" from the Calculate menu.

Page 21: ChemSW Help

5. The program will print in black and white a drawing of the molecule complete with specified title, molecule names, reaction arrows, reaction plus signs, and reaction conditions. Below the structure, all of the physical properties will be printed.

You can also print out all of the molecules containing a substructure. See Substructure Search.

Opening and Saving Molecule Files

Six types of files may be opened (retrieved):1. MACROMODEL files containing one or several molecule.

2. Molfiles containing one or several molecules.

3. MMP Reaction files containing one or several molecules. The molecules are saved as MACROMODEL files.

4. Brookhaven protein data bank files. Amino acids, nucleotides and heteroatoms are supported. Most of the text information will also be displayed.

5. MOPAC files containing one molecule.

6. MOPAC output files ("for006","for005.mno", "for011") containing one molecule. Geometry, partial charge and dipole moments are read in.

7. ASCII Crystal files.

To Open these files select Open from the File menu and follow the instructions.

Several types of file types may be saved:

1. MACROMODEL files containing one molecule.2. Molfiles containing one or several molecules.

3. MMP Reaction files containing one or several molecules. The molecules are saved as MACROMODEL files.

4. MOPAC files for use with MOPAC.

Molecules are saved by selecting "Save Molecule" from the File menu. Note that Saving data bases also saves the molecule in the MACROMODEL file format.

Page 22: ChemSW Help

Saving Data Bases of Physical PropertiesThe following menu items appear under the File Menu. These items create the

physical propertydata bases.

Save this moleculeWith this option data bases are created one molecule at a time.The molecular structure is saved to MACROMODEL files as outlined in

the previous section. In addition, selected physical properties are appended to a data

base file selected by the user. The physical properties to be stored are selected with

the "Select

properties to output" item on the file menu, or if none are selected, the user will be requested to check the properties he wants stored off of a menu. If an

existing data base is selected, the properties existing in that data base will be calculated

too (if possible). These files are used by Molecular Analysis Pro.

All MACROMODEL files in a directoryThe user selects a directory from the list which appears and also selects the

database file

to save the physical property data generated. The program calculates properties forall files ending with the extension .DAT and stores them in the selected .csv file.

All Molfiles in a directoryThe user selects a directory from the list which appears and also selects the

database file to save the physical property data generated. The program calculates properties

forall files ending with the extension .MOL and stores them in the selected .csv file.

A list of MACROMODEL filesa) Create a list of MACROMODEL files and store them in an ASCII file

(this may beuseful if you are creating the list from a program you are writing).

For instance:"c:\mydir\methanol.dat""d:\moldir\ethanol.dat""etc.dat"

b) After selecting this menu item, a list file appears. Select the data list from the file

Page 23: ChemSW Help

list which appears and also select the database file to save the physical property

data generated to.

Make a QSAR data base from the moleculeThis is the best and fastest option for creating a data base for classical

QSAR analysis.It is the only data base creation option which incorporates typical Hansch

substituentparameters (pi, MR, sigma, Verloop sterimol parameters) into the data.

The main dis-advantage is that the program chooses the molecular properties to store

(molecularweight, volume, connectivity and valence indices 1-3, HLB and Hansen's

3-D

solubility parameters). The other limitation is that only two substituent sites can bechanged at a time.

The reason this method is so fast, is that only one molecule has to be drawn.

Draw the template molecule, minus any substituents other than hydrogen. Then

select this option. Click on one or two substituent sites (or hydrogens to be replaced by

substituents) when prompted by the program. The program will determine whether

the site is aromatic or aliphatic. You also must select the name and directory of the

data base file. It is possible to merge the newly created molecules into an existingdatabase. This makes it possible to vary more than two substituent sites.

The program will ask you whether you want to merge the data or not if you choose to

save the data to an existing file. If you only vary one substituent site you also will be

asked to choose the first three letters of the connection table file names. This

feature is there for handy file erasing at a later time (e.g. del bnz*.dat). If you are varying

one

substituent, then the program will create a data base of all the substituents found in the file AROMQSAR. TXT (aromatic substituents) or ALIPQSAR.TXT

(aliphatic

Page 24: ChemSW Help

substituents). These ASCII text files can be added to or modified by the user with the

Microsoft Notepad program. If you varied two substituent sites, then the program will

take the first thirty substituents in the above files to create a data base of 900 (30x30)

compounds.

Select properties to output

After selecting this item a selection of physical properties will be displayed. Check theitems you wish to store in the data base. Interatomic distance, angle and

dihedralangle will slow down the execution of batch jobs, since they require user

selectionof atoms for every molecule.

Visual Basic code example: Molecular Modeling Pro data base files:

Molecular Modeling Pro data base files are comma separated value ASCII text files. The first line contains information used by Molecular Analysis Pro and can be ignored. The next line contains the column labels, and subsequent lines contain the data for each compound. The right most column contains the pointer to the molecule's connection table (where the structural information is stored).

Here is an example of Visual Basic code which writes out a data base file. It writes out 36 floating point fields. This file could be read by Molecular Analysis Pro. You could add lines of code that write out up to 72 floating point fields and Molecular Analysis Pro would still read them in.

Sub GetMMPdata (a$(), b$(), c$(), d$(), e$(), f$(), g$(), h$(), FileName$, nentry%) ' outputs an Molecular Modeling Pro ASCII data file ' Written 1994 by James A. Quinn; Authorized users of Molecular Modeling Pro may use this

' code royalty free. ' -- FileName$ data file to output ' -- nentry% number of entries (usually number of molecules or reactions or

mixtures) ' -- molnames$() molecule names ' -- names$(), field labels

' -- a$()-h$() string fields ' -- c$() molecule connection table names ' -- data1()-data36() floating point fields filled in by MMP.EXE ' -- m1%()-m36%() missing value indicators for the floating point fields

(0=missing value)

Page 25: ChemSW Help

' -- MolTypes$ = name of data base "e.g. 'Solvent data base'") ' -- pindex%() = integer which tells Molecular Analysis Pro what variable is in

what column If FileName$ = "" Then Exit Sub On Error GoTo errfix Open FileName$ For Output As #2 Print #2, Chr$(34) + MolTypes$ + Chr$(34) + Chr$(44); Qend%; Chr$(44); For i% = 1 To 36 Print #2, pindex%(i%); If i% < 36 Then Print #2, Chr$(44); Next i%

Print #2, Print #2, Chr$(34) + "name" + Chr$(34) + Chr$(44); Print #2, Chr$(34) + "alternate name" + Chr$(34) + Chr$(44); For i% = 37 To 41

Print #2, Chr$(34) + names$(i%) + Chr$(34) + Chr$(44); Next i% For j% = 1 To 36

Print #2, Chr$(34) + names$(j%) + Chr$(34) + Chr$(44); Next j% Print #2, Chr$(34) + "connection table file" + Chr$(34) For i% = 1 To nentry%

Print #2, Chr$(34) + a$(i%) + Chr$(34) + Chr$(44);

Print #2, Chr$(34) + b$(i%) + Chr$(34) + Chr$(44); Print #2, Chr$(34) + d$(i%) + Chr$(34) + Chr$(44); Print #2, Chr$(34) + e$(i%) + Chr$(34) + Chr$(44); Print #2, Chr$(34) + f$(i%) + Chr$(34) + Chr$(44); Print #2, Chr$(34) + g$(i%) + Chr$(34) + Chr$(44); Print #2, Chr$(34) + h$(i%) + Chr$(34) + Chr$(44); If m1%(i%) > 0 Then Print #2, Str$(data1(i%)); print #2, Chr$(44);

If m2%(i%) > 0 Then Print #2, Str$(data2(i%)); Print #2, Chr$(44);

If m3%(i%) > 0 Then Print #2, Str$(data3(i%)); Print #2, Chr$(44); If m4%(i%) > 0 Then Print #2, Str$(data4(i%)) ; Print #2, Chr$(44); If m5%(i%) > 0 Then Print #2, Str$(data5(i%)) ; Print #2, Chr$(44); If m6%(i%) > 0 Then Print #2, Str$(data6(i%)) ; Print #2, Chr$(44);

Page 26: ChemSW Help

If m7%(i%) > 0 Then Print #2, Str$(data7(i%)); Print #2, Chr$(44); If m8%(i%) > 0 Then Print #2, Str$(data8(i%)); Print #2, Chr$(44); If m9%(i%) > 0 Then Print #2, Str$(data9(i%)) ;

Print #2, Chr$(44); If m10%(i%) > 0 Then Print #2, Str$(data10(i%)); Print #2, Chr$(44); If m11%(i%) > 0 Then Print #2, Str$(data11(i%)); Print #2, Chr$(44);

If m12%(i%) > 0 Then Print #2, Str$(data12(i%)); Print #2, Chr$(44); If m13%(i%) > 0 Then Print #2, Str$(data13(i%)); Print #2, Chr$(44); If m14%(i%) > 0 Then Print #2, Str$(data14(i%));

Print #2, Chr$(44); If m15%(i%) > 0 Then Print #2, Str$(data15(i%)); Print #2, Chr$(44); If m16%(i%) > 0 Then Print #2, Str$(data16(i%)); Print #2, Chr$(44);

If m17%(i%) > 0 Then Print #2, Str$(data17(i%)); Print #2, Chr$(44); If m18%(i%) > 0 Then Print #2, Str$(data18(i%)); Print #2, Chr$(44); If m19%(i%) > 0 Then Print #2, Str$(data19(i%)); Print #2, Chr$(44); If m20%(i%) > 0 Then Print #2, Str$(data20(i%)); Print #2, Chr$(44); If m21%(i%) > 0 Then Print #2, Str$(data21(i%)); Print #2, Chr$(44);

If m22%(i%) > 0 Then Print #2, Str$(data22(i%)); Print #2, Chr$(44); If m23%(i%) > 0 Then Print #2, Str$(data23(i%)); Print #2, Chr$(44); If m24%(i%) > 0 Then Print #2, Str$(data24(i%)); Print #2, Chr$(44); If m25%(i%) > 0 Then Print #2, Str$(data25(i%)); Print #2, Chr$(44); If m26%(i%) > 0 Then Print #2, Str$(data26(i%)); Print #2, Chr$(44);

If m27%(i%) > 0 Then Print #2, Str$(data27(i%)); Print #2, Chr$(44);

Page 27: ChemSW Help

If m28%(i%) > 0 Then Print #2, Str$(data28(i%)); Print #2, Chr$(44); If m29%(i%) > 0 Then Print #2, Str$(data29(i%)); Print #2, Chr$(44); If m30%(i%) > 0 Then Print #2, Str$(data30(i%)); Print #2, Chr$(44); If m31%(i%) > 0 Then Print #2, Str$(data31(i%)); Print #2, Chr$(44);

If m32%(i%) > 0 Then Print #2, Str$(data32(i%)); Print #2, Chr$(44); If m33%(i%) > 0 Then Print #2, Str$(data33(i%)); Print #2, Chr$(44); If m34%(i%) > 0 Then Print #2, Str$(dat34(i%)); Print #2, Chr$(44); If m35%(i%) > 0 Then Print #2, Str$(data35(i%)) ; Print #2, Chr$(44); If m36%(i%) > 0 Then Print #2, Str$(data36(i%)); Print #2, Chr$(44);

Print #2, Chr$(34) + c$(i%) + Chr$(34) Next i% Close #2 ChDrive StartDrive ChDir Left$(FirstPath$, Len(FirstPath$) - 1)

1000 Exit Suberrfix: Msg$ = Msg$ + Chr$(13) + "Error writing to " + FileName$ MsgBox Msg$, 48 Close Err = 0 Resume 1000End Sub

Making a QSAR data base1. Draw in the parent molecule with hydrogen in the substituent

sites. Make sure all hydrogens are added.2. Select "Save Data Base" and"Make a QSAR data base from the molecule" from

the File Menu.

3. When prompted, click on the hydrogen atoms (1 or 2) to replace with substituents.

Page 28: ChemSW Help

4. If substituting only one substituent site, type in the first 3 letters for the program to store

the DOS file name of connection tables. This way you can delete and manage these

files by looking for names starting with these 3 characters.5. When prompted, type in the name of the QSAR data base (DOS file name).

If you try to store the data in an existing data base file, it is possible to merge the newly

created molecules into the existing database. This makes it possible to vary more than

two substituent sites. The program will ask you whether you want to merge the data or

not. 6. Coffee break! It will take a while for the program to make the connection

tables for all the molecules and calculate their physical properties.

7. The data base will be created automatically. It will be an ASCII data base in csv (comma separated value) format. It can be read into any program that reads this format (e.g. Microsoft Excel). It is in the format expected by Molecular Analysis Pro.

This is the best and fastest option for creating a data base for classical QSAR analysis. It is the only data base creation option which incorporates typical Hansch substituent parameters (pi, MR, sigma, Verloop sterimol parameters) into the data. The main disadvantage is that the program chooses the molecular properties to store (molecular weight, volume, connectivity and valence indices 1-3, HLB and Hansen's 3-D solubility parameters). The other limitation is that only two substituent sites can be changed at a time. The reason this method is so fast, is that only one molecule has to be drawn. The program determines whether the site is aromatic or aliphatic. If you are varying one substituent, the program will create a data base of all the substituents found in the file AROMQSAR. TXT (aromatic substituents) or ALIPQSAR.TXT (aliphatic substituents). These ASCII text files can be added to or modified by the user with the Microsoft Notepad program. If you varied two substituent sites, then the program will take the first thirty substituents in the above files to create a data base of 900 (30x30) compounds.

The structure of the AromQSAR.txt and AlipQSAR.txt files:Substituent information used by the automatic QSAR data base creation routine is stored in the comma delimited ASCII text files "AROMQSAR.TXT" and "ALIPQSAR.TXT".

1. The first two lines of this file are for your information, and are not read by the program. 2. The third line is the name of the fields and is read by the program. 3. Each subsequent line contains one substituent. The format of these lines is:

Page 29: ChemSW Help

"Substituent name", property 1, prop 2, prop 3, prop 4, prop 5, prop 6, prop 7, "connection table name"

You can add up to 1000 substituents to each of these files. Only the first thirty names are read when the program creates a two substituent site data base. All 1000 substituents would be read in a one substituent data base. You must create a connection table (MACROMODEL format) for each substituent that has the name listed in the file. Atom one of the substituent must be the atom to connect to the parent substructure and should have one empty valence for attachment. Place the connection table in the "vb\subs" subdirectory.

Substructure searches

How to do a substructure search:

1. Draw in the substructure

2. If all of the files in the directory to be searched were not made with Molecular Modeling Pro, then select "Make substructure keys" from the Tools menu and follow the instructions. Otherwise you may skip this step.

3. Select "Substructure Search" from the Tools menu. Click on the name of the directory and the file to be searched when requested to do so.

4. The molecule files matching your substructure will be displayed in a list box. You can view any of the molecules there by selecting the file name from the list. You can also print all of the molecules in the list.

5. Molecular Modeling Pro does substructure searches by matching "keys". Examples of key items are number of carbons, presence of amide groups, number of aromatic ring atoms, and longest hydrocarbon path. It is possible for some of the molecules found with this method not to contain the drawn substructure. However, it should never miss molecules containing the substructure. This method of finding substructures is very fast.

The following menu items in the Tools menu take care of substructure searches

Make substructure keysThis option creates a substructure keys file for all molecules in a directory (*.dat, *.mol) for use with the Substructure and Reaction search options in the Tools menu.

Page 30: ChemSW Help

Substructure Search

1. Draw a template substructure to the screen.

2. Then select Substructure Search off the Tools menu. The program searches the substructure keys file in the directory chosen for similar number of atoms and similar key fragments with the keys for your substructure. If the directory does not contain a keys file then the program must first create one (this will take a little time).

3. The list of molecules found to match is displayed. You may select a molecule from the list to edit or analyze. The list stays in memory and can be displayed again with the Show Search Results menu item below.

Reaction Search

Draw a template substructure to the screen. Then select this option from the Tools menu. The program searches the substructure keys file in the directory chosen for similar number of atoms and similar key fragments with the keys for your substructure. If the directory does not contain a keys file then the program must first create one (this will take a little time). The program then goes through all of the reaction file (*.rct) to see if any of the matched molecules are contained in the reactions in the directory. If so, the names of the reactions are displayed. You can selectone of the reaction for analysis or editing. The list of matches stays in memory and can be displayed again with the Show Search Results option below.

Show Search Results This option displays the matches from the Substructure Search and Reaction Search menu items above. Clicking on one of the matches will display the molecule or reaction selected in the list. You may also print out the results of the search with this option.

Make your own programs

One of the traditions of computational chemistry is that the end user is also a programmer.No program can anticipate the computational needs of every chemist. Therefore, I have included some Visual Basic code to get you started.

Microsoft's Visual Basic (VB) appears to be especially useful for this purpose. It is very easy to learn and use, especially for those of us who learned FORTRAN way back when. Modern BASIC languages are combinations of the functionality of the old BASIC language and FORTRAN. User interfaces are child's play with VB. A slightly modified version of VB is now the Macro language for Microsoft's Office Suite programs (e.g. EXCEL for Windows 5.0), so the programs included here can be slightly modified to work as EXCEL macros. Visual Basic has a weakness too. This is slow execution speed

Page 31: ChemSW Help

compared to programs generated by C or some other compiled language. Hopefully Microsoft will someday issue a fully compilable, 32 bit version of VB.

A starter program is included in the "samples" directory of MMP disk 2 called "Display". This program contains the code for reading in MACROMODEL files, drawing them, rotating them and calculating a number of physical properties including molecular weight, volume, surface area, dipole moment (by my modified Del Re method), water solubility, HLB (by my modified method) and more. Several of the unpublished methods of physical property calculations used by Molecular Modeling Pro are included in this sample. You may use the program examples in this sample freely, including distributing them in your own applications as long as you own an authorized copy of the Molecular Modeling Pro program. Some of the property calculations can probably be improved on, and you may want to make changes and additions depending on what type of chemistry you want to model. An outline of the subroutines included in the Display program are listed on page 4.

More examples of Molecular Modeling Pro Visual Basic code appear in this help file, including code for reading in and out the various ASCII file types (e.g. data base format) used by MMP. If you own an authorized copy of the Molecular Modeling Pro program you may use these programs in your applications and distribute them.

Another source of programs that you should be aware of is the Quantum Chemistry Program Exchange (QCPE). Many useful programs (many in FORTRAN, a few for PCs) have been placed here for use by chemists since 1962. The address is QCPE, Indiana University, 840 State Hwy 46 Bypass, Bloomington IN 47405. Among the programs found here are Allinger's MM2 and the MNDO package.

The DISPLAY program:

To be able to modify and compile to program "Display" you must have a copy of Microsoft Visual Basic 3.0 installed on your computer. Some of the code modules can also be used in modified form by Microsoft Excel 5.0, but not the form.

The DISPLAY program consists of a single "form" and several "modules". A Visual Basic form is the Window into which graphics objects are placed or drawn. Graphics objects in Visual Basic can consist of text boxes, labels, command buttons, list boxes, directory boxes, grids and picture boxes. Text and lines, and

circles can also be directly drawn on the form when requested to do so by the code. Pull-down menus can also be designed with the menu editor. When designing programs, one of the most convenient features of Visual Basic is the ability to click on one of the menu items or graphics objects and attach code directly to the events generated by the object (e.g. clicking, double clicking etc.).

Visual Basic code can be part of the form or be separately placed in modules. Placing code in modules is a good idea, since they can be reused in other VB programs. Global variables and arrays are declared in modules, not forms.

The inner workings of the Display program:

Page 32: ChemSW Help

The form in the Display program is called "Form1" and has the title "Display". It is stored under the DOS name DISPLAY.FRM. It contains a number of pull-down menu items, a frame called "Frame1" which is entitled "Scale the molecules" and contains three command buttons named "Command1", "Command2" and "Command3" which are entitled "<", ">" and "Done", and a text box names "Messages". There is also a common dialog box "CMDialog1". The program also contains a number of modules whose DOS file names are "Charsurf.Bas", "Drawings.Bas", "Extras.Bas", "FindDelR.Bas", "FindHLB.Bas", "Fring2.Bas", "MMPGlob.Bas", "MacroMod.Bas", "MDL.Bas", "MVol.Bas", "Property.Bas", "Rotat.Bas", and "SupCent.Bas". One VBX, CMDialog.VBX, is also needed for the program to function. This VBX comes with the Visual Basic program and with Molecular Modeling Pro. All of these files should be present to run the program.

When the program starts it invokes a subprogram called Form_Load. This program calls the subprogram Initiate (in Extras.Bas) which opens the file "Moldat.txt". The variable SpherScal% controls what proportion of the VanDerWaal's radius the spheres drawn by "Fast Spheres" will be. Setting SphereScal% to 1 makes the spheres be 100% the VDW radius. The global variables are initialized during loading and grab their chunk of RAM. The global variable declarations are in "MMPGlob.Bas". There are a number of constants in this file which are not used by the program and that can be eliminated by you to save memory. The number of atoms allowed is set with the global constatnt maxi% in MMPGlob.Bas. Some of the code in this sample is not well annotated. Annotation of code with comments actually takes up additional RAM and slows execution of VB programs (which need the fast interpreter, that is part of VBRun300.DLL, to execute).

Clicking on the Open menu item calls a subprogram called Opener_Click. This subprogram determines what type of file is to be opened by looking at the file extension. If the file extension is ".rct" then it assumes an MMP reaction file is to be opened. If ".mol" is selected then a molfile is selected. Otherwise, the program assumes a Macromodel file is to be opened. The program called the appropriate file opening subprogram: GetMMReaction (in MacroMod.Bas) for reaction files, MMODInput (in MacroMod.Bas) for Macromodel files or MDLIn (in MDL.Bas) for Molfiles. The calls to MDLIn and MMODInput are actually contained in a program called GetNewMol (in Extras.Bas). The GetNewMol program also takes the atomic data from the file input programs and generates some additional data used by the program such as atomic radii, atomic colors, ring identification, computation of molecular weights and other useful properties derived from the atom types and connections. The ring finding algorithms are contained in 3 subprograms: Fring (in Extras.Bas, which finds the beginning and end of rings), Fring2 (in Fring2.Bas, which finds all atoms in rings and how large the ring is) and IsItAromatic (in Fring2.Bas, which identifies if rings are aromatic or not). After opening the file and calculating the atom properties, the molecule(s) is drawn to the screen. The DrawIt subprogram (In Drawings.Bas) is called by GetNewMol. The DrawIt subprogram is the "driver" for drawing molecules. It selects which of the 3 drawing routines (for wire frame, ball and stick or fast spheres) should be called. It also calculates the atom coordinates for wire frame drawings. The subprogram for actually drawing lines of the wire frame drawings is DrawLine2 (in Drawings.Bas). BallAndStick

Page 33: ChemSW Help

(in Drawings.Bas) and DrawSphere (in Drawings.Bas) draw the other two molecule representations.

The Display menu item has a number of options. Clicking on these options causes the currently displayed molecules and and molecules input with "Open" to be displayed with the option selected. Wireframe causes wire frame molecular representations to be drawn by calling the DrawIt display driver with BandS% and Sphereon% set to 0. Ball and Stick causes the molecule to be drawn as balls and sticks (calls DrawIt with BandS% set to 1 and Sphereon% set to 0). Fast Spheres draws the molecules as filled spheres, sorted from back to front by the z axis. The sorting subprogram is SortIt (in Drawings.Bas). Perspective toggles back and forth between on and off. When perspective is on the DrawIt, BallandStick and DrawSpheres routines change the size of spheres and lines based on position along the z axis and change the position of the atoms with the vanishing point being the center of the screen. Ghost image draws the molecule as a wire frame image imbedded in light gray spheres. This is done by calling both DrawLine2 and DrawSphere from DrawIt. Center places the molecules in the middle of the screen. The subroutine CenterMol (in Extras.Bas) changes the atomic coordinates so that the maximum and minimum x, y and z coordinates are equidistant from the screen center (atomic coordinate 0,0,0). The DrawIt routine is called after CenterMol. Clicking on Scale causes frame1 to become visible and the 3 command buttons be accessible to the user. Scale is determined by the global variable scalex%. Clicking on the "<" button causes scalex% to decrease by multiples of 0.9. Clicking on ">" causes scalex% to increase by 1.1x. Clicking on "Done" causes frame1 to become invisible (the property Frame1.visible is false(i.e. is set to )).

Rotate provides a simple way of rotating the molecule some specified angle. The user selects X, Y, or Z from the menu and is prompted for the angle of rotation. The angle of rotation is passed to the subprogram Rotate (in Rotat.Bas) which changes the atom coordinates so that the molecule is rotated. DrawIt is then called to display the molecule. You may want to add a subprogram to rotate the molecules as animated graphics. To do this you select some small angle of rotation (5 degrees or less usually) and construct a subroutine something like so:

Sub AutoRotat(angle, iaxis%, MNum%)' iaxis% =1 for y, 2 for x and 3 for z' MNum% = Molecule number to rotate (= 0 for all)

ReDim xav(nend%), yav(nend%), zav(nend%) 'set to zero for rotation around

' the screen center. Do

Call rotat(iaxis%, angle, x(), y(), z(), nend%, MNum%, xav(), yav(), zav())

Form1.Cls 'prepare to draw the molecule by clearing screen

Page 34: ChemSW Help

Call DRAWIT(ml, x(), y(), z(), conn%(), bond%(), rs%(), re%(), col&(), radi(), nend%, rb%(), nr%, atname$(), moly%(), sphereon%)

Form1.Refresh 'break out of subroutine to draw new molecule coordinates.DoEvents 'break out of subroutine to see if time to quit

rotation and'also allow multitasking during the animation

if CommandButtonPushed then exit do 'need way of leaving the loop;

'You must declare a global variable CommandButtonPushed

'and make a button or menu item that changes the value of

'this variable when pushed.Loop

CommandButtonPushed = 0 'reset for next timeEnd Sub

The Calculate menu item gives access to a number of physical property calculations. The physical properties are: Molecular weight which is calculated when the molecule is input by the GetNewMol program; Molecular volume by the MVOL subprogram (in MVOL.Bas); connectivity and valence indices by Connect (in Property.Bas); Dipole moment by FindDelRe (in FindDelR.Bas); H bond acceptor and H bond donor by a combination of the subprogram FindDelRe, and functions HBondAcceptor and HBondDonor (all in FindDelR.Bas); HLB (hydrophilic-lipophilic balance) calculated by FindHLB in FindHLB.Bas; and water solubility calculated by WatSoly (in Property.Bas). Add your own physical properties here!

Clicking the Exit button quits the program.In addition, the modules contain some additional functions not included in the

menus of the Display program. One of these is the ability to color the atoms based on lipophilicity or partial charge. These functions are included in the CharSurf.Bas module. If you make a program based on Display then you must remember to distribute a number of additional files with the executed code. These include Moldat.txt, DelRe.txt, VBRun300.DLL, Commdlg.DLL, CMdialog.VBX and Rainbow.DIB.

Enjoy! If you come up with an interesting addition to Molecular Modeling Pro let us know.

Page 35: ChemSW Help

Controlling Molecular Modeling Pro from other programs

Molecular Modeling Pro does not support DDE or OLE at this time. Control of the program by other programs is done by the Visual Basic commands Shell and Sendkeys or can be controlled to some extent by selecting Run from the Windows Program Manager File menu and typing in a command with the following syntax:

To play a slide file called myslide.sld type:c:\mmp\mmp.exe myslide.sld

Any file ending in .sld will be recognized as a slide file.

To display a reaction stored in a file called myreact.rct type: c:\mmp\mmp.exe myreact.rct

Any file ending in .rct will be loaded as a reaction. Any file ending in .mol will be recognized as a Molfile. Any other file extension will be opened as a MACROMODEL file.

The Visual Basic Shell command can be handled like the Run menu item in Program Manager. For instance the following Visual Basic code would start Molecular Modeling Pro running in a window of its own, load the MACROMODEL file buoh.dat from the solvents directory and start it rotating along the x axis.

temp$ = Shell("c:\mmp\mmp.exe c:\solvents\buoh.dat", 1)SendKeys "x"

You may send additional commands with the SendKeys function. The program being controlled must have the focus. You can give an item the focus through the Visual Basic command "AppActivate":

AppActivate "Molecular Modeling Pro" 'gives MMP the focusSendKeys "y" 'starts rotation along y axis

Reliablilty of Physical Property Estimations:

The physical property estimations vary widely in their accuracy. The following table is a guide to the accuracy of the predictions.

Property Method used Notes on accuracy of the modelmolecular weight add atomic weights accurate

Page 36: ChemSW Help

molecular volume MVOL program (included) accuratevolume of spheres minus overlaps calculated.

surface area Surface area of spheres accurate

of Van der Waals radiusminus overlaps.

molecular length, length (x), width (y) and accuratemolecular width and depth (z) calculated withmolecular depth atomic radius included.

density MW/Volume with correc- reasonably accurate for organic molecules

tions for various organicfragments.

Log P (Log KOW) Modified Hansch fragment accurate for small (solvent sized) organic

constant addition molecules. Less accurate as the molecular

size and complexity increases. Notparameterized for inorganic

molecules.

HLB (hydrophilic- Uses Griffin's method seems to be accurate; needs further testing,lipophilic balance) (MW hydorphilic/MW)*20; since it uses a new algorithim to determine

Uses a unique alorithim to which atoms are counted as hydrophilic.

determine hydrophilic atoms. This calculation may be the most accurate

of the solubility parameters.

% hydrophilic surface Determines which atoms are Reasonably accurate.hydrophilic (as in HLB) andthe surface area (as above) foreach atom and divides thehydrophilic surface area by thetotal and multiplies by 100.

Page 37: ChemSW Help

solubility parameter sqr(polarity ^2+HB^2+dis- More accurate than the component parts

persion ^2); Calculated from (the 3-D solubility parameters).the Hansen 3-D parameters.

dispersion, Fragment constant addition is Very accurate for solvents used by Hansen.

polarity, used. The fragment values were Otherwise these values are moderatelyhydrogen bonding determined from Hansen's work. accurate. The hydrogen bonding term in

particular is suspect.

dipole moment calculated from partial chargeaccurate. Since partial charges are strength and location. calculated by a new method, the accuracy

needs some testing.

hydrogen bond acceptor calculated as the sum of partial Correlates reasonably well with Taft and

charges on atoms with charge Kammlet's term for small solvent less than -0.15. molecules. This term needs

further testing.

hydrogen bond donor calculated as the sum of partial Correlates reasonably well with Taft and

charges on atoms with chargeKammlet's term for small solvent greater than 0.2. molecules. This term needs

further testing.

boiling point (and Uses the method outlined in the Reasonably accurate for small solvent

MR and parachor) Handbook of Chemical Property molecules. Otherwise I am not certain

Estimation Methods (W.J. Lyman, about the accuracy of this calculation.

W.F. Reed, D.H. Rosenblatt)Estimation (from MR and

parachor), modified with fragmentconstants I have added.

vapor pressure Determined from the boiling point I do not know how accurate this method is.

Page 38: ChemSW Help

with a modified method from the

Handbook of Chemical PropertyEstimation Methods.

water of hydration McGowan's fragment constant Limited fragment values were given by

addition McGowan, but these values are decent.

water solubility I have put together a fragment Not accurate, except for the training set

constant addition method for (solvent molecule library). This algorithim

this calculation. needs some work. Against a library of

antimicrobial compounds the r squared for

this algorithim was 0.75.

connectivity and Uses Kier and Hall's methods Accurate. Some ring values differ.valence indexes and derived from Graph theory. Shape index reference: Quant. Struct.-the kappa shape index Act. Relat 4: 109-116 (L.B. Kier).

Interatomic distances, Geometry Accurate.bond angles.

Partial charges Del Re's method with additional Reasonably accurate.parameters added to account

for pi bonding. Some of Del Re'sconstants were changed toaccount for dipole moments ofmolecules with fixed conformations.Some additional terms were addedby checking against partial chargesfrom CNDO or MNDO.

Substituent parameters From the literature. The primary Experimentally determined, reasonably(pi, MR, sigma, B1-4)source is Hansch and Leo's accurate.

Page 39: ChemSW Help

fantastic information trove (Substituent Constants for Correlation Analysis in Chemistry and Biology, Wiley and Sons, 1979 by C. Hansch and A. Leo.)


Recommended