Ejemplo n.º 1
0
    def __init__(self, atom, building_block, building_block_id):
        """
        Initialize a :class:`.CaseData` instance.

        Parameters
        ----------
        atom : :class:`.Atom`
            The atom, which should be held by an :class:`.AtomInfo`.

        building_block : :class:`.BuildingBlock`
            The building block, which should be held by an
            :class:`.AtomInfo`.

        building_block_id : :class:`int`
            The building block id, which should be held by an
            :class:`.AtomInfo`.

        """

        self.atom_info = stk.AtomInfo(
            atom=atom,
            building_block=building_block,
            building_block_id=building_block_id,
        )
        self.atom = atom
        self.building_block = building_block
        self.building_block_id = building_block_id
Ejemplo n.º 2
0
 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(
Ejemplo n.º 3
0
 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,
     ),
     stk.AtomInfo(
         atom=stk.O(1, 1),
         building_block=bb2,
         building_block_id=1,
     ),
     stk.AtomInfo(
         atom=stk.N(2, 1),
         building_block=bb1,
         building_block_id=0,
     ),
     stk.AtomInfo(
         atom=stk.S(3),
         building_block=bb2,
Ejemplo n.º 4
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,
            },
        ),
    )