The model is convenient to create a piece by piece, and then combine them. It is desirable to avoid overlapping of atoms. This is desirable to make sure at every step of the assembly. Otherwise, problems may arise with the model relaxation. If in a dense medium there is a strong overlap, the model may lose the right chirality, so that the dynamic algorithms can not restore it properly.
In some cases, ligand can be directly inserted into the macromolecule by manipulations in a graphical environment, but it can cause a significant overlap of the atoms with the following deformation of the macromolecule. To avoid this we can recommend two ways:
The models sometimes should be immersed in a box with solvent. Before adding a solvent makes sure that the model was not serious distortions. You can do a short optimization or dynamics at low temperature. If there are an integer charges, it makes sense to do it not in the vacuum, but use the Generalized Born method.
Usually, a box with solvent is generated separately and added to the main model. Overlapping solvent molecules can be removed by an automatic procedure.
If we want to work temporarily with the groups of molecules, then we can declare all the atoms in the group as a one molecule. This can be done either by editing the file, either by introducing virtual bonds between the molecules. Subsequently, we can easily restore the correct definition of the molecules by the connectivity of the atoms.
If we need to build a model by precise geometric criteria, then a geometric editor and a scripting language can help. Geometric editor can define distances and angles within the molecules, and between them. If this is not enough, you'll have to write your own procedure (in a scripting language) which operates with the atoms coordinates.