示例#1
0
def carboxylic_acid(get_atom_ids):
    a, b, c, d, e = get_atom_ids(5)
    return _carboxylic_acid(
        carbon=stk.C(a),
        oxygen1=stk.O(b),
        oxygen2=stk.O(c),
        hydrogen=stk.H(d),
        atom=stk.C(e),
    )
示例#2
0
def diol(get_atom_ids):
    a, b, c, d, e, f = get_atom_ids(6)
    return _diol(
        atom1=stk.C(a),
        oxygen1=stk.O(b),
        hydrogen1=stk.H(c),
        atom2=stk.C(d),
        oxygen2=stk.O(e),
        hydrogen2=stk.H(f),
    )
示例#3
0
def boronic_acid(get_atom_ids):
    a, b, c, d, e, f = get_atom_ids(6)
    return _boronic_acid(
        boron=stk.B(a),
        oxygen1=stk.O(b),
        hydrogen1=stk.H(c),
        oxygen2=stk.O(d),
        hydrogen2=stk.H(e),
        atom=stk.C(f),
    )
示例#4
0
文件: amide.py 项目: zaeemnajeeb/stk
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),
    )
示例#5
0
import pytest
from pytest_lazyfixture import lazy_fixture
import stk

# Fixtures need to visible for lazy_fixture() calls.
from .fixtures import *  # noqa


@pytest.fixture(
    params=(
        stk.Alcohol(
            oxygen=stk.O(1),
            hydrogen=stk.H(2),
            atom=stk.C(2),
            bonders=(stk.C(2), ),
            deleters=(stk.O(1), stk.H(2)),
        ),
        stk.Aldehyde(
            carbon=stk.C(0),
            oxygen=stk.O(1),
            hydrogen=stk.H(2),
            atom=stk.C(3),
            bonders=(stk.C(0), ),
            deleters=(stk.O(1), ),
        ),
        stk.Alkene(
            carbon1=stk.C(1),
            atom1=stk.C(2),
            atom2=stk.C(3),
            carbon2=stk.C(4),
            atom3=stk.C(5),
示例#6
0
             nitrogen=stk.N(4),
             hydrogen=stk.H(15),
             atom1=stk.C(3),
             atom2=stk.C(5),
             bonders=(stk.N(4), ),
             deleters=(stk.H(15), ),
         ),
     ),
 ),
 lambda: CaseData(
     factory=stk.AldehydeFactory(),
     molecule=stk.BuildingBlock('O=CCC=O'),
     functional_groups=(
         stk.Aldehyde(
             carbon=stk.C(1),
             oxygen=stk.O(0),
             hydrogen=stk.H(5),
             atom=stk.C(2),
             bonders=(stk.C(1), ),
             deleters=(stk.O(0), ),
         ),
         stk.Aldehyde(
             carbon=stk.C(3),
             oxygen=stk.O(4),
             hydrogen=stk.H(8),
             atom=stk.C(2),
             bonders=(stk.C(3), ),
             deleters=(stk.O(4), ),
         ),
     ),
 ),
示例#7
0
import pytest
from pytest_lazyfixture import lazy_fixture
import stk

# Fixtures must be visible for lazy_fixture() calls.
from .fixtures import *  # noqa


@pytest.fixture(
    scope='session',
    params=(
        lambda: stk.Alcohol(
            oxygen=stk.O(0),
            hydrogen=stk.H(1),
            atom=stk.C(2),
            bonders=(stk.C(2), ),
            deleters=(stk.O(0), stk.H(1)),
        ),
        lambda: stk.Aldehyde(
            carbon=stk.C(0),
            oxygen=stk.O(1),
            hydrogen=stk.H(2),
            atom=stk.C(3),
            bonders=(stk.C(0),),
            deleters=(stk.O(1),),
        ),
        lambda: stk.Alkene(
            carbon1=stk.C(0),
            atom1=stk.H(1),
            atom2=stk.H(2),
            carbon2=stk.C(3),
示例#8
0
         ),
         placer_ids=(1, ),
     )
 ),
 lambda: 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,
示例#9
0
def alcohol(get_atom_ids):
    a, b, c = get_atom_ids(3)
    return _alcohol(stk.O(a), stk.H(b), stk.C(c))
示例#10
0
def aldehyde(get_atom_ids):
    a, b, c, d = get_atom_ids(4)
    return _aldehyde(stk.C(a), stk.O(b), stk.H(c), stk.C(d))
示例#11
0
         ),
         placer_ids=(1, ),
     )
 ),
 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=bb1,
                 building_block_id=0,
             ),
示例#12
0
def thioacid(get_atom_ids):
    a, b, c, d, e = get_atom_ids(5)
    return _thioacid(stk.C(a), stk.O(b), stk.S(c), stk.H(d), stk.C(e))
示例#13
0
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,
            },
        ),
    )