def get_case_data_1() -> CaseData: return CaseData( molecule=stk.BuildingBlock( smiles='Br[C+2][N+]Cl', functional_groups=[stk.BromoFactory()], placer_ids=(0, ), ), result=stk.BuildingBlock.init( atoms=( stk.Cl(0), stk.Br(1), stk.C(2, 2), stk.N(3, 1), ), bonds=( stk.Bond(stk.Cl(0), stk.N(3, 1), 1), stk.Bond(stk.Br(1), stk.C(2, 2), 1), stk.Bond(stk.C(2, 2), stk.N(3, 1), 1), ), position_matrix=np.array([ ]), functional_groups=( stk.Bromo( bromine=stk.Br(1), atom=stk.C(2, 2), bonders=(stk.C(2, 2), ), deleters=(stk.Br(1), ), ), ), placer_ids=(1, ), ) )
def amide(get_atom_ids): a, b, c, d, e, f = get_atom_ids(6) return _amide( carbon=stk.C(a), oxygen=stk.O(b), nitrogen=stk.N(c), hydrogen1=stk.H(d), hydrogen2=stk.H(e), atom=stk.C(f), )
def ring_amine(get_atom_ids): a, b, c, d, e, f, g = get_atom_ids(7) return _ring_amine( nitrogen=stk.N(a), hydrogen1=stk.H(b), hydrogen2=stk.H(c), carbon1=stk.C(d), carbon2=stk.C(e), hydrogen3=stk.H(f), carbon3=stk.C(g), )
def secondary_amino(get_atom_ids): a, b, c, d = get_atom_ids(4) return _secondary_amino(stk.N(a), stk.H(b), stk.C(c), stk.C(d))
atom4=stk.C(6), bonders=(stk.C(1), ), deleters=(stk.C(5), stk.C(6)), ), stk.Alkyne( carbon1=stk.C(0), atom1=stk.C(1), carbon2=stk.C(2), atom2=stk.H(3), bonders=(stk.C(0), ), deleters=(stk.C(2), stk.H(3)), ), stk.Amide( carbon=stk.C(0), oxygen=stk.O(1), nitrogen=stk.N(2), hydrogen1=stk.H(3), hydrogen2=stk.H(4), atom=stk.C(5), bonders=(stk.C(0), ), deleters=(stk.N(2), stk.H(3), stk.H(4)), ), stk.BoronicAcid( boron=stk.B(0), oxygen1=stk.O(1), hydrogen1=stk.H(2), oxygen2=stk.O(3), hydrogen2=stk.H(4), atom=stk.C(5), bonders=(stk.B(0), ), deleters=(stk.O(1), stk.H(2), stk.O(3), stk.H(4)),
import pytest import stk from ..case_data import CaseData @pytest.fixture( scope='session', params=( lambda: CaseData( factory=stk.PrimaryAminoFactory(), molecule=stk.BuildingBlock('NCCN'), functional_groups=( stk.PrimaryAmino( nitrogen=stk.N(0), hydrogen1=stk.H(4), hydrogen2=stk.H(5), atom=stk.C(1), bonders=(stk.N(0), ), deleters=(stk.H(4), stk.H(5)), ), stk.PrimaryAmino( nitrogen=stk.N(3), hydrogen1=stk.H(10), hydrogen2=stk.H(11), atom=stk.C(2), bonders=(stk.N(3), ), deleters=(stk.H(10), stk.H(11)), ), ), ),
import pytest import stk from .case_data import CaseData @pytest.fixture( params=(stk.Bond(stk.C(0), stk.N(1), 1), ), ) def bond(request): """ A :class:`.Bond` instance. """ return request.param @pytest.fixture( params=( stk.BuildingBlock('NCCN'), None, ), ) def building_block(request): """ A valid building block for a :class:`.BondInfo`. """ return request.param
import pytest import stk from ..case_data import CaseData @pytest.fixture( scope='session', params=(lambda: CaseData( factory=stk.RingAmineFactory(), molecule=stk.BuildingBlock('NCC(Br)c1c(Br)cccc1'), functional_groups=(stk.RingAmine( nitrogen=stk.N(0), carbon1=stk.C(1), carbon2=stk.C(2), carbon3=stk.C(4), hydrogen1=stk.H(11), hydrogen2=stk.H(12), hydrogen3=stk.H(15), ), ), ), ), ) def case_data(request) -> CaseData: """ A :class:`.CaseData` instance. """ return request.param()
@pytest.fixture( params=( lambda: CaseData( molecule=stk.BuildingBlock( smiles='Br[C+2][N+]Cl', functional_groups=[stk.BromoFactory()], placer_ids=(0, ), ), result=stk.BuildingBlock.init( atoms=( stk.Cl(0), stk.Br(1), stk.C(2, 2), stk.N(3, 1), ), bonds=( stk.Bond(stk.Cl(0), stk.N(3, 1), 1), stk.Bond(stk.Br(1), stk.C(2, 2), 1), stk.Bond(stk.C(2, 2), stk.N(3, 1), 1), ), position_matrix=np.array([ ]), functional_groups=( stk.Bromo( bromine=stk.Br(1), atom=stk.C(2, 2), bonders=(stk.C(2, 2), ), deleters=(stk.Br(1), ), ),
import pytest import stk from .case_data import CaseData @pytest.fixture( params=(CaseData( molecule=stk.BuildingBlock('NCCN'), bonds=( stk.Bond(stk.N(0), stk.C(1), 1), stk.Bond(stk.C(1), stk.C(2), 1), stk.Bond(stk.C(2), stk.N(3), 1), stk.Bond(stk.N(0), stk.H(4), 1), stk.Bond(stk.N(0), stk.H(5), 1), stk.Bond(stk.C(1), stk.H(6), 1), stk.Bond(stk.C(1), stk.H(7), 1), stk.Bond(stk.C(2), stk.H(8), 1), stk.Bond(stk.C(2), stk.H(9), 1), stk.Bond(stk.N(3), stk.H(10), 1), stk.Bond(stk.N(3), stk.H(11), 1), ), ), ), ) def case_data(request): return request.param
def single_atom(get_atom_ids): a, = get_atom_ids(1) return _single_atom(stk.N(a))
import pytest import stk from .case_data import CaseData @pytest.fixture( params=(CaseData( molecule=stk.BuildingBlock('NCCN'), atoms=( stk.N(0), stk.C(1), stk.C(2), stk.N(3), stk.H(4), stk.H(5), stk.H(6), stk.H(7), stk.H(8), stk.H(9), stk.H(10), stk.H(11), ), ), ), ) def case_data(request): """ A :class:`.CaseData` instance. """ return request.param
import pytest import stk from .case_data import CaseData @pytest.fixture( params=( stk.Bond(stk.C(0), stk.N(1), 1), ), ) def bond(request): """ A :class:`.Bond` instance. """ return request.param @pytest.fixture( params=( stk.BuildingBlock('NCCN'), None, ), ) def building_block(request): """ A valid building block for a :class:`.BondInfo`. """
@pytest.fixture( params=( CaseData( molecule=stk.BuildingBlock( smiles='Br[C+2][N+]Cl', functional_groups=[stk.BromoFactory()], placer_ids=(0, ), ), result=stk.BuildingBlock.init( atoms=( stk.Cl(0), stk.Br(1), stk.C(2, 2), stk.N(3, 1), ), bonds=( stk.Bond(stk.Cl(0), stk.N(3, 1), 1), stk.Bond(stk.Br(1), stk.C(2, 2), 1), stk.Bond(stk.C(2, 2), stk.N(3, 1), 1), ), position_matrix=np.array([ ]), functional_groups=( stk.Bromo( bromine=stk.Br(1), atom=stk.C(2, 2), bonders=(stk.C(2, 2), ), deleters=(stk.Br(1), ), ),
def primary_amino(get_atom_ids): a, b, c, d = get_atom_ids(4) return _primary_amino(stk.N(a), stk.H(b), stk.H(c), stk.C(d))
def get_case_data_2() -> CaseData: bb1 = stk.BuildingBlock('[C+2][N+]Br', [stk.BromoFactory()]) canonical_bb1 = bb1.with_canonical_atom_ordering() bb2 = stk.BuildingBlock('IS[O+]', [stk.IodoFactory()]) canonical_bb2 = bb2.with_canonical_atom_ordering() return CaseData( molecule=stk.ConstructedMolecule( topology_graph=stk.polymer.Linear( building_blocks=(bb1, bb2), repeating_unit='AB', num_repeating_units=1, ), ), result=stk.ConstructedMolecule.init( atoms=( stk.C(0, 2), stk.O(1, 1), stk.N(2, 1), stk.S(3), ), bonds=( stk.Bond(stk.C(0, 2), stk.N(2, 1), 1), stk.Bond(stk.O(1, 1), stk.S(3), 1), stk.Bond(stk.N(2, 1), stk.S(3), 1), ), position_matrix=np.array([]), atom_infos=( stk.AtomInfo( atom=stk.C(0, 2), building_block_atom=stk.C(0, 2), building_block=canonical_bb1, building_block_id=0, ), stk.AtomInfo( atom=stk.O(1, 1), building_block_atom=stk.O(0, 1), building_block=canonical_bb2, building_block_id=1, ), stk.AtomInfo( atom=stk.N(2, 1), building_block_atom=stk.N(2, 1), building_block=canonical_bb1, building_block_id=0, ), stk.AtomInfo( atom=stk.S(3), building_block_atom=stk.S(2), building_block=canonical_bb2, building_block_id=1, ), ), bond_infos=( stk.BondInfo( bond=stk.Bond(stk.C(0, 2), stk.N(2, 1), 1), building_block=canonical_bb1, building_block_id=0, ), stk.BondInfo( bond=stk.Bond(stk.O(1, 1), stk.S(3), 1), building_block=canonical_bb2, building_block_id=1, ), stk.BondInfo( bond=stk.Bond(stk.N(2, 1), stk.S(3), 1), building_block=None, building_block_id=None, ), ), num_building_blocks={ canonical_bb1: 1, canonical_bb2: 1, }, ), )