Molecular Structure Inputs

htpolynet requires a molecular structure for every monomer (and any other small molecule) that appears in your system. It recognizes mol2 and pdb formats, and consumes them from ./lib/molecules/inputs/ relative to the directory in which you run htpolynet run or htpolynet parameterize. You can either let htpolynet generate these files for you from SMILES strings written directly into your configuration file (the recommended path, described next), or supply hand-prepared mol2/pdb files yourself (covered last). Either way, two very important considerations apply.

Before either path: valence conservation

htpolynet requires valence-conservation when polymerizing. When two atoms are identified as bonding partners (each typically on a separate molecule), each must own at least one sacrificial hydrogen that is deleted when the new bond forms, keeping the valence of each atom constant. We refer to this form of a monomer as its active form — and it is the active form that you describe to htpolynet, not the “actual” textbook form.

To illustrate, consider styrene. The “inactive” form is its actual structure:

../_images/STYCC1.png

For htpolynet, however, styrene’s active form is ethylbenzene:

../_images/STY1.png

So the SMILES (or mol2) you give to htpolynet for styrene must describe ethylbenzene, with the two reactive carbons saturated and carrying the sacrificial hydrogens that will be removed when the inter-monomer bond forms.

Supplying mol2 or pdb files directly

If SMILES cannot cleanly capture your monomer (e.g., unusual stereochemistry, charged species, or coordinates from a published source), you can place a hand-prepared mol2 or pdb into lib/molecules/inputs/ directly. Two common ways to produce one:

  • Sketch and export. Any 2-D chemical sketcher that exports mol2 will work. For example, the ChemDoodle 2D sketcher:

    ../_images/chemdoodle-2dsketcher-emb.png

    Fig. 2 Example of a ChemDoodle 2D-sketcher session for creating an input mol2 file for styrene (well, actually ethylbenzene).

  • Standalone obabel. Write the SMILES on the command line and let obabel produce a 3-D structure:

    $ obabel -:"C1=CC=CC=C1CC" -ismi --gen-3d -h -omol2 -O STY.mol2
    

With either of these, you are responsible for editing atom names yourself (see below) before htpolynet can reference them.

Atom-naming

htpolynet expects every atom it must reference (i.e., every reactive atom) to have a unique name within its monomer. The names themselves don’t matter, only their uniqueness; non-reactive atoms can be left at their default names. The in-config SMILES paths handle this naming automatically via rename_atoms / reactive_atoms. For hand-prepared mol2/pdb files, you must edit the atom-name field yourself. Several atom-naming conventions are demonstrated in the tutorials.