polymer_builder_driver.py Command Help
Command: $SCHRODINGER/run polymer_builder_gui_dir/polymer_builder_driver.py
usage: $SCHRODINGER/run polymer_builder_gui_dir/polymer_builder_driver.py
[-h] [-repeat_unit CRU] [-num_cru UNITS] [-weights A:2,B:1,etc.]
[-reactivity_rules A:A,A:B,etc.] [-enforced_composition] [-mark_bond]
[-vdw_scale SCALE_FACTOR] [-attempts ATTEMPTS] [-title TITLE]
[-dihedral DIHEDRAL] [-dihedral_min MINIMUM] [-dihedral_max MAXIMUM]
[-dihedral_type TYPE] [-coupling_angle COUPLING_ANGLE]
[-coupling_angle_min MINIMUM] [-coupling_angle_max MAXIMUM]
[-tailtail PERCENT] [-headhead PERCENT] [-cell]
[-population NUM_POLYMERS] [-density DENSITY] [-amcell_vdw_scale SCALE]
[-obey PROPERTY] [-dc_attempts ATTEMPTS] [-place_attempts ATTEMPTS]
[-distribution DISTRIBUTION] [-color PROPERTY] [-bands SELECTION]
[-tubes SELECTION] [-substrate FILENAME] [-no_system] [-seed SEED]
[-forcefield FORCE_FIELD] [-minimize] [-monomer_ff_q]
[-split_components] [-grow] [-dihe_temperature KELVIN]
[-dihedral_num INT] [-dihedral_exclude] [-ncells NUMBER]
[-simple_input] [-HOST <hostname>] [-D] [-VIEWNAME <viewname>]
[-JOBNAME JOBNAME]
input_file
Build a polymer from initiation, cascade, termination and monomer units.
A typical basic polymer has the form below::
I---T
Where I is an initiator, --- represents a chain of monomer units and T is the
terminator. I, each -, and T may have different chemical formulas.
A more complex dendrimer polymer may have the form::
T
|
T---I---T
where | also represents a chain of monomer units.
A cascade polymer has units that branch at the end of each chain, ending after a
number of cascade generations::
<---T
/ \
/ T
I---<
\ T
\ /
<---T
Each < is a unit that terminates one chain and starts two or more new chains,
and / and \ represent chains of monomer units.
A branching polymer has a monomer in the middle of the chain that starts a new
branch and also continues the current chain::
T
|
I--^--T
The ^ represents a monomer that branches off a new chain.
Both cascade and branching polymers can be combined with a dendrimer initiator
to create much more complex polymers.
Each type of unit (initiator, terminator, chain monomer, branching monomer,
cascader) are sketched in the 2D sketcher, with Rx groups denoting the points on
the unit that connect to other units. In all cases but the monomers, R1 is used
to designate the connection points.
An initiator can have multiple R1 groups. Each R1 will begin a new chain - if
two or more R1 groups are used, the polymer will be a dendrimer.
A cascader has an R1 group that is bound to the existing chain and multiple R2
groups that begin new chains.
A terminator has a single R1 group that binds to the existing chain.
A chain monomer has an R1 group to denote the head and an R2 group to denote the
tail. Chain monomers are generally joined head-tail-head-tail.
A branching monomer has R1 and R2 groups the same as a chain monomer, but
additionally has an R3 group that designates the point where a new chain can
attach.
Copyright Schrodinger, LLC. All rights reserved.
positional arguments:
input_file Input Maestro file containing the structures for the
initiator, terminator, cascader and all monomers. Each
structure must be labeled with structure-level
property s_matsci_polymer_gui_moiety to define its
role in the polymer. The following are valid values
for s_matsci_polymer_gui_moiety:"initiator",
"terminator", "cascader", and "monomer_x". The x in
monomer_x is a single capital letter that is the one-
letter code that is used torefer to that monomer (see,
for example, the -repeat_unit and -weights flags).
Each monomer should have a different value of x. See
also -simple_input.
options:
-h, -help Show this help message and exit.
General options:
-title TITLE, -t TITLE
The title of the structure created.
-substrate FILENAME Build the cell around the substrate contained in the
specified Maestro file.
-seed SEED Seed for random number generator.
-ncells NUMBER The number of cells of each type to produce. Each cell
of the same type will be generated starting with a
different random seed so that the cells have different
distribution and orientation.
-simple_input Input is simplified. If the initiator or terminator
are not included in the input file, an H atom will be
used. Each structure not marked with the
s_matsci_polymer_gui_moiety property will be
considered a monomer and be given the next unassigned
monomer letter code ("A", "B", etc.). If the head and
tail atoms for such a structure are not marked, a
backbone will be chosen to give the longest bond path
through the monomer, with hydrogens preferentially
chosen as the terminal ends of the backbone in case of
a tie.The terminal atom with the lower index is the
head marker atom. This method will fail for even
simple monomers such as styrene, so it is recommended
that the head and tail atoms be marked manually.
Manual marking can be done using the Mark Head and
Tail panel in Maestro; or by setting the
s_matsci_polymer_gui_marker_list structure property to
X,Y where X is the index of the head marker atom and Y
is the index of the tail marker atom; or by setting
the s_matsci_polymer_role atom property to head_capper
on the head marker atom and to tail_capper on the tail
marker atom. Marker atoms are the atoms that are
removed when forming the bond between monomers. See
the input_file help message for more info.
Composition options:
-repeat_unit CRU, -r CRU
The repeat unit of the polymer. The value consists of
one or more letters, each letter specifying the
monomer structure in the input file that has the
property s_matsci_polymer_gui_moiety set monomer_x,
where x=letter. The monomer portion of the polymer
will be made of -num_cru of these repeat units linked
together. For homopolymers, -repeat_unit will be just
a single letter, the same letter used for the
monomer_x property. For block or periodic copolymers,
-repeat_unit will be a series of letters, and this
entire series of letters will be repeated -num_cru
times. For random copolymers, set -repeat_unit to
"random" and use the -weights flag. For block and
copolymers, the wildcard character "*" may be used to
indicate that all monomers should be enumerated at
those positions. Enumeration occurs on the single
repeat unit to create one repeat unit for each unique
monomer. One polymer is then built for each repeat
unit, resulting in the same number of polymers as
unique monomers. Examples: -repeat_unit A and -num_cru
5 will result in a polymer chain consisting of AAAAA.
-repeat_unit ABCA and -num_cru 3 will result in a
polymer chain of ABCAABCAABCA. -repeat_unit A*B and
-num_cru 3 will result in two polymers: AABAABAAB and
ABBABBABB.
-num_cru UNITS, -n UNITS
The number of constitutional repeat units (CRU) in
each chain. The CRU is specified by the -repeat_unit
flag. The default is 10.
-weights A:2,B:1,etc., -w A:2,B:1,etc.
The weights for each monomer in a random copolymer
("-repeat_unit random"). Weights should be separated
by a comma, and consist ofthe monomer letter followed
by a colon and then the integer weight, specifying the
relative frequency that this monomer should be chosen
to grow the chain. Example: for a three monomer random
copolymer, in which A should be chosen 3 times as
often as B, and B twice as often as C, use "-weights
A:6,B:2,C:1". The default is to assume an equal
probability for all monomers. (weights of 1 are
assumed for undefined monomers)
-reactivity_rules A:A,A:B,etc.
Set of rules that define allowed reactivity for
monomers. Example: for a three monomer random
copolymer to allow A monomer to react with B with a
probability 3 times of it with C monomer, and allow B
monomer to react with only A monomer, use
"-reactivity_rules A:B:3, A:C:1, B:A:1". If no rule is
set for a monomer, it can react with any monomer.
Currently, this option is allowed only in the case
when neither -tailtail nor -headhead is set.
-enforced_composition
If True, random polymer sequences are required to have
the steady state composition. If False, they may
differ from the steady state composition due to random
monomer selections. This flag is ignored unless
-repeat_unit random is specified
-mark_bond If True, the bonds created between two monomers are
marked with the connecting atom elements, monomer type
indexes, and monomer orientations.
-tailtail PERCENT, -tt PERCENT
Percent chance of two monomers coupling tail-tail
instead of the normal tail-head coupling. The default
is 0.0.
-headhead PERCENT, -hh PERCENT
Percent chance of two monomers coupling head-head
instead of the normal head-tail coupling. The default
is 0.0.
Polymer geometry options:
-vdw_scale SCALE_FACTOR, -vdw SCALE_FACTOR
Clash VDW scale factor for intrapolymer clashes. To
check for a clash between two atoms, the VDW radii
scaled by this number. If the interatomic distance is
less than the sum of the scaled radii, a clash is
found. See also the -attempts and -amcell_vdw_scale
flags. Set to 0 to not check for clashes including
those that are ring spears. This value is used both
when building a polymer and for checking for
intrapolymer clashes due to the periodic boundary
conditions when building an amorphous cell.The default
is 0.5.
-attempts ATTEMPTS, -a ATTEMPTS
Number attempts to build a polymer without clashes
before accepting a polymer with clash distances
shorter than -vdw_scale allows. The default is 10.
-dihedral DIHEDRAL, -di DIHEDRAL
Value of the intermonomer backbone dihedral, which is
defined using the four atoms, H1-T1-H2-T2, where H1 is
the head atom for monomer 1, T is the tail atom for
monomer 1, and H2 and T2 are defined the same for
monomer. This is the definition for a tail-head
coupled pair of dimers. Analogous definitions exist
for other coupling motifs.Use the -dihedral flag to
specify a constant dihedral used for all intermonomer
backbone dihedrals. Use the -dihedral_min and
-dihedral_max flags to specify a range of values from
which each intermonomer backbone dihedral should be
randomly chosen.Note that only the intermonomer
backbone dihedral is adjusted to avoid clashes, so
using a single value for the backbone dihedral will
turn off intrapolymer clash checking. Either the
-dihedral flag or both the -dihedral_min and
-dihedral_max flags must be supplied.
-dihedral_min MINIMUM, -dmin MINIMUM
Value of the intermonomer backbone dihedral, which is
defined using the four atoms, H1-T1-H2-T2, where H1 is
the head atom for monomer 1, T is the tail atom for
monomer 1, and H2 and T2 are defined the same for
monomer. This is the definition for a tail-head
coupled pair of dimers. Analogous definitions exist
for other coupling motifs.Use the -dihedral flag to
specify a constant dihedral used for all intermonomer
backbone dihedrals. Use the -dihedral_min and
-dihedral_max flags to specify a range of values from
which each intermonomer backbone dihedral should be
randomly chosen.Note that only the intermonomer
backbone dihedral is adjusted to avoid clashes, so
using a single value for the backbone dihedral will
turn off intrapolymer clash checking. Either the
-dihedral flag or both the -dihedral_min and
-dihedral_max flags must be supplied.
-dihedral_max MAXIMUM, -dmax MAXIMUM
Value of the intermonomer backbone dihedral, which is
defined using the four atoms, H1-T1-H2-T2, where H1 is
the head atom for monomer 1, T is the tail atom for
monomer 1, and H2 and T2 are defined the same for
monomer. This is the definition for a tail-head
coupled pair of dimers. Analogous definitions exist
for other coupling motifs.Use the -dihedral flag to
specify a constant dihedral used for all intermonomer
backbone dihedrals. Use the -dihedral_min and
-dihedral_max flags to specify a range of values from
which each intermonomer backbone dihedral should be
randomly chosen.Note that only the intermonomer
backbone dihedral is adjusted to avoid clashes, so
using a single value for the backbone dihedral will
turn off intrapolymer clash checking. Either the
-dihedral flag or both the -dihedral_min and
-dihedral_max flags must be supplied.
-dihedral_type TYPE, -dtype TYPE
What backbone dihedrals are affected by the -dihedral,
-dihedral_min and -dihedral_max flags. Choice are
"{coup}" for just the intermonomer-coupling bond,
"{inter}" for any dihedral that spans monomers, and
"{all}" for all backbone dihedrals.
-coupling_angle COUPLING_ANGLE, -ca COUPLING_ANGLE
Value of the intermonomer coupling angle, which is
defined using the three atoms, H1-T1-H2, where H1 is
the head atom for monomer 1, T1 is the tail atom for
monomer 1, and H2 is head for monomer 2. Use the
-coupling_angle flag to specify a constant angle used
for all intermonomer coupling angles. Use the
-coupling_angle_min and -coupling_angle_max flags to
specify a range of values from which each intermonomer
coupling angle should be randomly chosen.Note that the
coupling angle is only applied for coarsegrained
systems.
-coupling_angle_min MINIMUM, -cmin MINIMUM
Value of the intermonomer coupling angle, which is
defined using the three atoms, H1-T1-H2, where H1 is
the head atom for monomer 1, T1 is the tail atom for
monomer 1, and H2 is head for monomer 2. Use the
-coupling_angle flag to specify a constant angle used
for all intermonomer coupling angles. Use the
-coupling_angle_min and -coupling_angle_max flags to
specify a range of values from which each intermonomer
coupling angle should be randomly chosen.Note that the
coupling angle is only applied for coarsegrained
systems.
-coupling_angle_max MAXIMUM, -cmax MAXIMUM
Value of the intermonomer coupling angle, which is
defined using the three atoms, H1-T1-H2, where H1 is
the head atom for monomer 1, T1 is the tail atom for
monomer 1, and H2 is head for monomer 2. Use the
-coupling_angle flag to specify a constant angle used
for all intermonomer coupling angles. Use the
-coupling_angle_min and -coupling_angle_max flags to
specify a range of values from which each intermonomer
coupling angle should be randomly chosen.Note that the
coupling angle is only applied for coarsegrained
systems.
Representation options:
-color PROPERTY, -co PROPERTY
How to color atoms in the final structure. "element"
is the default Maestro element coloring scheme.
"monomer" colors by monomer type, "chirality" by
monomer chirality, "bbsg" by backbone or sidegroup
membership, "chain by branching or cascading chains,
and "molecule" by molecule. The default is element.
-bands SELECTION, -bs SELECTION
Represent the selected atoms using ball and stick. The
possible selections are none, backbone, sidegroup,
r_chiral, s_chiral, head, tail, head_tail, and the
default is none.
-tubes SELECTION, -tb SELECTION
Represent the selected atoms using tube. The possible
selections are none, backbone, sidegroup, r_chiral,
s_chiral, head, tail, head_tail, and the default is
none.
Amorphous cell options:
-cell, -c Create an amorphous cell of multiple polymers.
-population NUM_POLYMERS, -p NUM_POLYMERS
Number of polymers in the amorphous cell. The default
is 10.
-density DENSITY, -d DENSITY
Target density for the amorphous cell. See also the
-amcell_vdw_scale and -obey flags. The default is 0.5.
-amcell_vdw_scale SCALE, -avdw SCALE
Target VDW scale factor for polymer clashes in an
amorphous cell. This value applies to interpolymer
clashes and also intrapolymer clashes caused by the
amorphous cell periodic boundary condition. Set to 0
to turn off clash checking when building the amorphous
cell. See also the -density, -obey, and -vdw_scale
flags. The defaultis 0.6.
-obey PROPERTY, -o PROPERTY
Whether to strictly obey the density (-density) or
clash (-amcell_vdw_scale) values. Both will be used
for the initial attempt, but the property not
specified by this flag will be adjusted until an
amorphous cell can be found that obeys the property
specified by this flag. The default property to obey
is density. Choices are "density" or "clash".
-dc_attempts ATTEMPTS
Number of failed amorphous cell attempts to make per
density/clash setting before adjusting the non-obeyed
parameter. The default is 5.
-place_attempts ATTEMPTS
Number of attempts to place a polymer class-free into
the amorphous cell before abandoning that cell. The
default is 5.
-distribution DISTRIBUTION
The probability distribution describes the relative
ratios of polymers of different length that occur in
polymerization process. For example, Flory–Schulz
distribution is a discrete probability distribution
for an ideal step-growth.
Desmond system options:
-no_system Do not run the Desmond system builder on the amorphous
cell. The default is to run the system builder.
-forcefield FORCE_FIELD
Force field to use when creating the Desmond system.
Valid force fields are OPLS_2005, S-OPLS and SPFF
-minimize Perform geometric optimization on the polymers
-monomer_ff_q Use forcefield charges computed for the monomer for
the polymer. This option is particularly useful for
S-OPLS, which uses OPLS_2005 charges by default for
molecules larger than 100 heavy atoms.
-split_components Split system in components when Desmond system is
built. This can speed up the the force field
assignment for systems that contain multiple identical
molecules.
Polymer in-cell growth options:
-grow Polymers will grow in the polymer cell. Dihedral angle
range is defined by -dihedral_min and -dihedral_max.
-dihedral_num discrete values are obtained by evenly
spacing the range.
-dihe_temperature KELVIN
With torsion energy surface, Boltzmann distribution of
dihedral angles is generated at this temperature. By
default, a uniform distribution is used.
-dihedral_num INT Dihedral angle range is gridded by this number evenly.
-dihedral_exclude Use default dihedral angle range (0, 360], and exclude
values in (-dihedral_min, -dihedral_max).
Job Control Options:
-HOST <hostname> Run job remotely on the indicated host entry.
-D, -DEBUG Show details of Job Control operation.
-VIEWNAME <viewname> Specifies viewname used in job filtering in maestro.
-JOBNAME JOBNAME Provide an explicit name for the job.