Advice on generating dendrimers in EMC and force fields

Hi EMC users,
I have some monomers that I want to connect via ester bonds: For example these guys:

I would like to use the PCFF, and generate samples that simulate a realistic distribution of chain lengths given a particular monomer ratio.

I feel that this is something done all the time in EMC but I am not sure how to go about it. I can kind of build the types of polymers I want with a file like this:
pol1.esh (904 Bytes)

which kind of fakes this type of bond with the smiles in the above file:

However, I have like 200 of these kinds of samples to build with different monomer ratios and this one took me like an hour to get the smiles and the sites all written out so that EMC could build it, and this is a very simple one.
I am wondering

  1. Is there is a (more) efficient way to do something this in EMC where I specify the acetoxy and carboxyl sites, a length distribution or some actual precomputed lengths, and then it builds these chains for me based on the monomer ratios?
    I tried something like that here:
    C2A2.esh (1.2 KB)
    but it seems that EMC fails to build this because it draws incompatible monomers sometimes then crashes instead of drawing a compatible monomer.
    Strangely, if I specify: TMA, 2, IPA, 6, ABA, 11, HQDA, 9, carb, 10, ace, 10, then it works, but if I specify: TMA:IPA:ABA:HQDA=2:6:11:9, carb 10, ace, 10, it fails.

and/or
3. If I had, e.g. a python code which made these bonds already and just produced the SMILES and number of copies for each chain, would EMC be able to reliably build such a structure or would this give me problems with bond angles and such?

Lastly I am wondering if I am making more trouble for myself by using this force field.

Hi Wyatt,

I noticed that this topic has not been addressed yet. In essence you are thinking in the right direction. However, a few details have made you run into the issues you experience. I would choose a slightly different definition of my monomers. Judging from your description, you are trying to create an alternating copolymer consisting of two dimers, a trimer, and a bridge. As connection point I would define *C(=O)R for your dimers and trimers, and *OR for your bridge, which allows for a more consistent definition of monomer connectivity. These considerations culminate into the following setup.esh (setup.esh (1.0 KB))

# Options section

ITEM	OPTIONS

replace		true
field		pcff
number		true
density		0.1
focus		true
pdb_licorice	true
emc_execute	true

ITEM	END	# OPTIONS

# Groups section

ITEM	GROUPS

dimer1		*C(=O)c1cc(ccc1)C(=O)*, &
		1, bridge:1, 1, bridge:2, 1, cap1:1, &
		2, bridge:1, 2, bridge:2, 2, cap1:1

dimer2		*C(=O)c1ccc(cc1)C(=O)*, &
		1, bridge:1, 1, bridge:2, 1, cap1:1, &
		2, bridge:1, 2, bridge:2, 2, cap1:1

trimer		*C(=O)c1cc(cc(C(=O)*)c1)C(=O)*, &
		1, bridge:1, 1, bridge:2, 1, cap1:1, &
		2, bridge:1, 2, bridge:2, 2, cap1:1, &
		3, bridge:1, 3, bridge:2, 3, cap1:1

bridge		*Oc1ccc(cc1)O*, &
		1, cap2:1, &
		2, cap2:1

cap1		*O

cap2		*C(=O)C

polymer		alternate, polymer

ITEM	END	# GROUPS

# Clusters section

ITEM	CLUSTERS

polymer		polymer,1

ITEM	END	# CLUSTERS

# Polymers section

ITEM	POLYMERS

polymer		link=random
1		dimer1:dimer2:trimer=3:3:2, 8, bridge, 12, cap1, 12

ITEM	END	# POLYMERS

I used PCFF, since it contains the necessary types for the problem. I defined dimer1, dimer2, trimer, cap1, and cap2. You used the original polymer building routines, which tend to be less suitable for your type of problem. I would suggest using the option of creating a polymer group instead (the polymer type is defined under ITEM GROUPS instead of ITEM CLUSTERS). You also assumed a random copolymer. I would classify this type of polymer as an alternative copolymer instead. The use of the link=random option only applies to group polymers, but indeed is needed for building your type of dendrimers. Note that the requested number of bridge monomers governs the trimer concentration, which is illustrated by changing this number. Specifying too few or too many bridge monomers regarding the dimers and trimers will result in exceeding the number of iterations used to find valid structures.