For two organic molecules of essentially unlimited size (up to and including, and sometimes exceeding MW = 1000 g/mol), I would like to generate all possible dimer pairs in vacuum. The pairs may be heterogeneous, so there could be one molecule of MW=1000 g/mol paired with something that is only MW=50 g/mol.
The objective is to find the lowest energy (preferably lowest free energy) dimer pair, in vacuum. The energy minimization I would count as an additional step. Given a set of dimer pairs I can take care of screening energies on my own, but if it will do it, so much the better.
This sort of thing is routinely done for crystal structure prediction, where one generates unit cells, and then crystals. Is it perhaps best to retrofit the more complex operation of crystal structure prediction in something like PyXtal.py, COMPACK, GLEE etc, as examples, to request only dimers rather than all possible crystal structures?
Bonus if the software is open source and MIT licence.