Set torsions in a BB.ΒΆ
This is a simple script for finding conformers in an ensemble with a particular torsion.
We can scan over a torsion.
import stk
import bbprepared
bb = stk.BuildingBlock(smiles="C1=CC=NC(=C1)C2=CC=CC=N2")
selector = bbprepared.selectors.BySmartsSelector(
smarts="[#6][#7][#6][#6][#7][#6]",
selected_indices=(1, 2, 3, 4),
)
generator = bbprepared.generators.TorsionScanner(
target_torsions=bbprepared.generators.TorsionRange(
smarts="[#7][#6][#6][#7]",
expected_num_atoms=4,
scanned_ids=(0, 1, 2, 3),
scanned_range=range(0, 362, 20),
),
)
ensemble = generator.generate_conformers(bb)
Then we can select specific torsions.
target1 = 120
process1 = bbprepared.TargetTorsion(
ensemble=ensemble,
selector=selector,
target_value=target1,
)
molecule1 = process1.get_best()
target2 = 60
process2 = bbprepared.TargetTorsion(
ensemble=ensemble,
selector=selector,
target_value=target2,
)
molecule2 = process2.get_best()