Construct polymers with Polymer Builder


Polymer Builder makes it possible to construct polymers out of various building blocks: individual monomers and sequences of monomers.

The Polymer Builder app can be found in the App menu > Assembly or via the “Find everything” (Shift+E) in the top-right corner of SAMSON.

Registering new monomers

In the Document view or in the Viewport, select a monomer that you would like to add. Click on the “Register monomer from selection” button to add a new monomer based on the current selection. It will automatically set the structure and start and end atoms based on the connected component such that the start and end atoms would be at the opposite ends of the component.

Click the associated “V” buttons to highlight the structure or start/end atoms.

You can modify the start and end atoms by choosing another atom of this monomer from the Document view or from the Viewport and clicking on the corresponding “S” (set) button. Or, you can click on the associated “P” (pick) buttons to pick an atom from the list of atoms in the structure.

If the structure has a single residue or a structural group, then the monomer’s name will be based on it, else you can provide the name if you would like this monomer to be placed in a separate structural group in the resulting polymer, i.e., having each monomer in a separate structural group.

The molecular weight (in Daltons) and the distance between the start and the end atoms will be shown in the table for each monomer.

The added monomers are automatically given unique identifiers based on Latin letters.

Note: if the structure of the added monomer has been modified in SAMSON (e.g., an atom has been added or removed from it) then it will be deregistered from the list due to these changes.

You can modify the already registered monomers right in the table, expand them if necessary.

To remove a monomer from the table, right-click on it and click “Delete monomer”. To clear the whole table, click on the “Clear all” button.

Registering sequences of monomers

If the polymer sequence that you would like to generate has repeating patterns, then you can also register such patterns as sequences of monomers.

To register a new sequence of monomers, click on the “Add new sequence” and provide the sequence in the “Sequence” property based on identifiers of the registered monomers, e.g., ABBA:

Click the associated “V” button to highlight the monomers used in the sequence.

If the sequence is not correct, then the error message will be shown in the “Status” property, else it will be shown as “Valid”:

The added sequences are automatically given unique identifiers that start with the letter S and follow with a number, e.g., S1, S2, etc.

If you would like the monomers in a sequence to be arranged into a common parent structural group in a generated polymer, then provide a name in the “Name” property.

You can specify the bond types between monomers. By default, the monomers are connected with a single bond. To connect them with a double bond, use ‘=‘, and for a triple bond use ‘#‘:

A=B           – A connected by a double bond with B

A#B           – A connected by a triple bond with B

You can modify registered sequences of monomers (names and sequences) right in the table.

The table also shows approximate molecular weights and lengths for each sequence of monomers.

To remove a sequence from the table, right-click on it and click “Delete sequence”. To clear the whole table, click on the “Clear all” button.

Generating polymers

To generate a polymer, provide its sequence based on registered monomers and sequences of monomers.

The sequence expression has the following format:

S1 + 2*S2 + 3*AB + AB=BA + A#B

where you can provide identifiers for both monomers and sequences of monomers, the number of repeats (e.g., 3*AB – 3 repeats of AB, i.e. ABABAB), and the bond type (‘=‘ for the double bond, ‘#‘ for the triple bond).


AB=BA                  – AB connected by a double bond with BA

AB#BA                  – AB connected by a triple bond with BA

2*AB                    – 2 repeats of AB, i.e. ABAB

2*S1 + 2*S2       – 2 repeats of S1 and 2 repeats of S2

For a provided sequence, its approximate molecular weight and length and predicted that are based on each monomer.

Click the “Generate polymer” button to generate a polymer based on the provided sequence.

The app will generate a polymer with a shape based on directions between the start and end atoms of each monomer. Excessive hydrogens are removed from the start and end atoms that participate in connections.

There are 2 additional options that can be used when generating a polymer:

  • “Adjust Hydrogens on connection atoms” – if checked then hydrogens will be adjusted for each connection atom (start and end atoms of monomers) to adjust their positioning. Note: this will remove and add hydrogens based on the valences of the start and end atoms of the monomers. If you would like to adjust hydrogens later, you can use “Add hydrogens” from the Biology menu or from the Viewport (through the quick access in the top-right corner of the Viewport). You can also add hydrogens manually using the Add editor (see User Guide: Building molecules for more information).
  • “Adjust for clashes” – if checked then each next monomer will be added in such a way that it has minimum clashes with other already placed monomers of the polymer. Note: this might lead to non-linear polymers.

Tip: You can use the generated polymer as a monomer for building longer polymers.

Minimizing structures

Once you built the polymer, you might want to minimize it. You can do it using the built-in minimizer in SAMSON. For that, simply click on the “Minimize” button in the Home menu, and click it once again to stop the minimization.

Note: the built-in minimizer in SAMSON uses the Universal Force Field.

Saving and loading projects

If you would like to export the resulting structure, select it and then click on the “Export” button in the Home menu.

You can also save the project and load it later. This will save/load monomers and sequences of monomers.


If you have any questions, please do not hesitate to contact us via our forum.


Comments are closed.