Ditopic functional group alignment.ΒΆ

This is a simple script for selecting a building block with two functional groups aligned.

import stk
import bbprepared

bb = stk.BuildingBlock(
    smiles="C1C=CN=CC=1C1=CC=C(C2C=NC=CC=2)C=C1",
    functional_groups=stk.SmartsFunctionalGroupFactory(
        smarts="[#6]~[#7X2]~[#6]",
        bonders=(1,),
        deleters=(),
    ),
)

generator = bbprepared.generators.ETKDG(num_confs=30)
ensemble = generator.generate_conformers(bb)

process = bbprepared.DitopicFitter(ensemble=ensemble)
min_molecule = process.get_minimum()

# As a stk.BuildingBlock
bb = min_molecule.molecule