From e5922fab1ae80578fb179eb3f224495624813d09 Mon Sep 17 00:00:00 2001 From: Diego Prada Date: Fri, 24 May 2024 11:03:48 -0600 Subject: [PATCH] In process --- molsysmt/form/openmm_Modeller/__init__.py | 3 +- molsysmt/form/openmm_Modeller/get.py | 476 -- .../get_structural_attributes.py | 65 + .../get_topological_attributes.py | 4158 +++++++++++++++++ molsysmt/form/pdbfixer_PDBFixer/__init__.py | 3 +- molsysmt/form/pdbfixer_PDBFixer/get.py | 471 -- .../get_structural_attributes.py | 65 + .../get_topological_attributes.py | 44 +- 8 files changed, 4335 insertions(+), 950 deletions(-) delete mode 100644 molsysmt/form/openmm_Modeller/get.py create mode 100644 molsysmt/form/openmm_Modeller/get_structural_attributes.py create mode 100644 molsysmt/form/openmm_Modeller/get_topological_attributes.py delete mode 100644 molsysmt/form/pdbfixer_PDBFixer/get.py create mode 100644 molsysmt/form/pdbfixer_PDBFixer/get_structural_attributes.py diff --git a/molsysmt/form/openmm_Modeller/__init__.py b/molsysmt/form/openmm_Modeller/__init__.py index 8775dd149..b5b426f0e 100644 --- a/molsysmt/form/openmm_Modeller/__init__.py +++ b/molsysmt/form/openmm_Modeller/__init__.py @@ -18,7 +18,8 @@ from .add import add from .merge import merge from .append_structures import append_structures -from .get import * +from .get_topological_attributes import * +from .get_structural_attributes import * from .set import * from .iterators import StructuresIterator, TopologyIterator diff --git a/molsysmt/form/openmm_Modeller/get.py b/molsysmt/form/openmm_Modeller/get.py deleted file mode 100644 index 0baf85aa1..000000000 --- a/molsysmt/form/openmm_Modeller/get.py +++ /dev/null @@ -1,476 +0,0 @@ -####################################################################################### -########### THE FOLLOWING LINES NEED TO BE CUSTOMIZED FOR EVERY CLASS ################ -####################################################################################### - -from molsysmt._private.execfile import execfile -from molsysmt._private.exceptions import NotImplementedMethodError, NotWithThisFormError -from molsysmt._private.digestion import digest -from molsysmt._private.variables import is_all -from molsysmt import pyunitwizard as puw -import numpy as np - -form='openmm.Modeller' - - -## From atom - -@digest(form=form) -def get_atom_id_from_atom(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_atom_id_from_atom as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_atom_name_from_atom(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_atom_name_from_atom as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_atom_type_from_atom(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_atom_type_from_atom as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_group_index_from_atom(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_group_index_from_atom as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_component_index_from_atom(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_component_index_from_atom as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_chain_index_from_atom(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_chain_index_from_atom as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_molecule_index_from_atom(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_molecule_index_from_atom as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_entity_index_from_atom(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_entity_index_from_atom as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_inner_bonded_atoms_from_atom(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_inner_bonded_atoms_from_atom as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_n_inner_bonds_from_atom(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_n_inner_bonds_from_atom as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_coordinates_from_atom(item, indices='all', structure_indices='all', skip_digestion=False): - - unit = puw.get_unit(item.positions) - coordinates = np.array(puw.get_value(item.positions)) - coordinates = coordinates.reshape(1, coordinates.shape[0], coordinates.shape[1]) - - if not is_all(structure_indices): - coordinates = coordinates[structure_indices,:,:] - - if not is_all(indices): - coordinates = coordinates[:,indices,:] - - coordinates = coordinates * unit - coordinates = puw.standardize(coordinates) - - return coordinates - - -## From group - -@digest(form=form) -def get_group_id_from_group(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_group_id_from_group as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_group_name_from_group(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_group_name_from_group as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_group_type_from_group(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_group_type_from_group as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - - -## From component - -@digest(form=form) -def get_component_id_from_component(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_component_id_from_component as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_component_name_from_component(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_component_name_from_component as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_component_type_from_component(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_component_type_from_component as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - - -## From molecule - -@digest(form=form) -def get_molecule_id_from_molecule(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_molecule_id_from_molecule as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_molecule_name_from_molecule(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_molecule_name_from_molecule as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_molecule_type_from_molecule(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_molecule_type_from_molecule as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - - -## From chain - -@digest(form=form) -def get_chain_id_from_chain(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_chain_id_from_chain as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_chain_name_from_chain(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_chain_name_from_chain as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_chain_type_from_chain(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_chain_type_from_chain as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - - -## From entity - -@digest(form=form) -def get_entity_id_from_entity(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_entity_id_from_entity as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_entity_name_from_entity(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_entity_name_from_entity as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_entity_type_from_entity(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_entity_type_from_entity as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - - -## From system - -@digest(form=form) -def get_n_atoms_from_system(item, skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_n_atoms_from_system as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, skip_digestion=True) - - return output - -@digest(form=form) -def get_n_groups_from_system(item, skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_n_groups_from_system as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, skip_digestion=True) - - return output - -@digest(form=form) -def get_n_components_from_system(item, skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_n_components_from_system as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, skip_digestion=True) - - return output - -@digest(form=form) -def get_n_chains_from_system(item, skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_n_chains_from_system as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, skip_digestion=True) - - return output - -@digest(form=form) -def get_n_molecules_from_system(item, skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_n_molecules_from_system as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, skip_digestion=True) - - return output - -@digest(form=form) -def get_n_entities_from_system(item, skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_n_entities_from_system as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, skip_digestion=True) - - return output - -@digest(form=form) -def get_n_bonds_from_system(item, skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_n_bonds_from_system as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, skip_digestion=True) - - return output - -@digest(form=form) -def get_n_structures_from_system(item, structure_indices='all', skip_digestion=False): - - return 1 - -@digest(form=form) -def get_box_from_system(item, structure_indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_box_from_system as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, structure_indices=structure_indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_time_from_system(item, structure_indices='all', skip_digestion=False): - - return None - -@digest(form=form) -def get_structure_id_from_system(item, structure_indices='all', skip_digestion=False): - - return None - - -## From bond - -@digest(form=form) -def get_bond_order_from_bond(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_bond_order_from_bond as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_bond_type_from_bond(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_bond_type_from_bond as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_bonded_atoms_from_bond(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_bonded_atoms_from_bond as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -####################################################################################### -######### DO NOT TOUCH THE FOLLOWING LINES, JUST INCLUDE THEM AS THEY ARE ############# -####################################################################################### - -from os import path -this_folder = path.dirname(path.abspath(__file__)) -common_get = path.join(this_folder, '../../_private/common_get.py') -execfile(common_get, globals(), locals()) -del(path, this_folder, common_get) - diff --git a/molsysmt/form/openmm_Modeller/get_structural_attributes.py b/molsysmt/form/openmm_Modeller/get_structural_attributes.py new file mode 100644 index 000000000..8b2f8498f --- /dev/null +++ b/molsysmt/form/openmm_Modeller/get_structural_attributes.py @@ -0,0 +1,65 @@ +####################################################################################### +########### THE FOLLOWING LINES NEED TO BE CUSTOMIZED FOR EVERY CLASS ################ +####################################################################################### + +from molsysmt._private.exceptions import NotImplementedMethodError, NotWithThisFormError +from molsysmt._private.digestion import digest +import types + +form='openmm.Modeller' + + +## From atom + +@digest(form=form) +def get_coordinates_from_atom(item, indices='all', structure_indices='all', skip_digestion=False): + + unit = puw.get_unit(item.positions) + coordinates = np.array(puw.get_value(item.positions)) + coordinates = coordinates.reshape(1, coordinates.shape[0], coordinates.shape[1]) + + if not is_all(structure_indices): + coordinates = coordinates[structure_indices,:,:] + + if not is_all(indices): + coordinates = coordinates[:,indices,:] + + coordinates = coordinates * unit + coordinates = puw.standardize(coordinates) + + return coordinates + + +## From system + + +@digest(form=form) +def get_n_structures_from_system(item, structure_indices='all', skip_digestion=False): + + return 1 + +@digest(form=form) +def get_box_from_system(item, structure_indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_box_from_system as aux_get + + tmp_item = to_openmm_Topology(item, structure_indices=structure_indices, skip_digestion=True) + output = aux_get(tmp_item, skip_digestion=True) + + return output + +@digest(form=form) +def get_time_from_system(item, structure_indices='all', skip_digestion=False): + + return None + +@digest(form=form) +def get_structure_id_from_system(item, structure_indices='all', skip_digestion=False): + + return None + + +# List of functions to be imported + +__all__ = [name for name, obj in globals().items() if isinstance(obj, types.FunctionType) and name.startswith('get_')] diff --git a/molsysmt/form/openmm_Modeller/get_topological_attributes.py b/molsysmt/form/openmm_Modeller/get_topological_attributes.py new file mode 100644 index 000000000..28f7a5aef --- /dev/null +++ b/molsysmt/form/openmm_Modeller/get_topological_attributes.py @@ -0,0 +1,4158 @@ +####################################################################################### +########### THE FOLLOWING LINES NEED TO BE CUSTOMIZED FOR EVERY CLASS ################ +####################################################################################### + +from molsysmt._private.exceptions import NotImplementedMethodError, NotWithThisFormError +from molsysmt._private.digestion import digest +from molsysmt._private.variables import is_all +import numpy as np +import types + + +form='openmm.Modeller' + + +## From atom + +@digest(form=form) +def get_atom_index_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_atom_index_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_atom_id_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_atom_id_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_atom_name_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_atom_name_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_atom_type_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_atom_type_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_group_index_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_group_index_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_group_id_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_group_id_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_group_name_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_group_name_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_group_type_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_group_type_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_component_index_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_component_index_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_component_id_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_component_id_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_component_name_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_component_name_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_component_type_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_component_type_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_molecule_index_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_molecule_index_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_molecule_id_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_molecule_id_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_molecule_name_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_molecule_name_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_molecule_type_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_molecule_type_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_entity_index_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_entity_index_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_entity_id_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_entity_id_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_entity_name_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_entity_name_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_entity_type_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_entity_type_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_chain_index_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_chain_index_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_chain_id_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_chain_id_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_chain_name_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_chain_name_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_chain_type_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_chain_type_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_bond_index_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_bond_index_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_bond_type_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_bond_type_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_bond_order_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_bond_order_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_bonded_atoms_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_bonded_atoms_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_bonded_atom_pairs_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_bonded_atom_pairs_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_inner_bond_index_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_inner_bond_index_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_inner_bonded_atoms_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_inner_bonded_atoms_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_inner_bonded_atom_pairs_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_inner_bonded_atom_pairs_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_atoms_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_atoms_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_groups_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_groups_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_components_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_components_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_molecules_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_molecules_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_entities_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_entities_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_chains_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_chains_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_bonds_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_bonds_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_inner_bonds_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_inner_bonds_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_amino_acids_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_amino_acids_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_nucleotides_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_nucleotides_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_ions_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_ions_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_waters_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_waters_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_small_molecules_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_small_molecules_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_lipids_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_lipids_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_oligosaccharides_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_oligosaccharides_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_saccharides_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_saccharides_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_peptides_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_peptides_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_proteins_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_proteins_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_dnas_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_dnas_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_rnas_from_atom(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_rnas_from_atom as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +## From group + + +@digest(form=form) +def get_atom_index_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_atom_index_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_atom_id_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_atom_id_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_atom_name_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_atom_name_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_atom_type_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_atom_type_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_group_index_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_group_index_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_group_id_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_group_id_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_group_name_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_group_name_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_group_type_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_group_type_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_component_index_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_component_index_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_component_id_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_component_id_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_component_name_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_component_name_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_component_type_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_component_type_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_molecule_index_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_molecule_index_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_molecule_id_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_molecule_id_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_molecule_name_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_molecule_name_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_molecule_type_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_molecule_type_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_entity_index_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_entity_index_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_entity_id_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_entity_id_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_entity_name_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_entity_name_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_entity_type_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_entity_type_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_chain_index_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_chain_index_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_chain_id_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_chain_id_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_chain_name_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_chain_name_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_chain_type_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_chain_type_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_bond_index_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_bond_index_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_bond_type_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_bond_type_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_bond_order_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_bond_order_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_bonded_atoms_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_bonded_atoms_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_bonded_atom_pairs_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_bonded_atom_pairs_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_inner_bond_index_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_inner_bond_index_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_inner_bonded_atoms_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_inner_bonded_atoms_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_inner_bonded_atom_pairs_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_inner_bonded_atom_pairs_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_atoms_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_atoms_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_groups_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_groups_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_components_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_components_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_molecules_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_molecules_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_entities_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_entities_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_chains_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_chains_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_bonds_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_bonds_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_inner_bonds_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_inner_bonds_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_amino_acids_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_amino_acids_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_nucleotides_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_nucleotides_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_ions_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_ions_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_waters_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_waters_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_small_molecules_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_small_molecules_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_lipids_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_lipids_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_oligosaccharides_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_oligosaccharides_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_saccharides_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_saccharides_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_peptides_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_peptides_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_proteins_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_proteins_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_dnas_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_dnas_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_rnas_from_group(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_rnas_from_group as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +## From component + + +@digest(form=form) +def get_atom_index_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_atom_index_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_atom_id_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_atom_id_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_atom_name_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_atom_name_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_atom_type_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_atom_type_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_group_index_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_group_index_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_group_id_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_group_id_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_group_name_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_group_name_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_group_type_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_group_type_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_component_index_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_component_index_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_component_id_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_component_id_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_component_name_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_component_name_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_component_type_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_component_type_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_molecule_index_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_molecule_index_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_molecule_id_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_molecule_id_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_molecule_name_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_molecule_name_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_molecule_type_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_molecule_type_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_entity_index_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_entity_index_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_entity_id_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_entity_id_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_entity_name_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_entity_name_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_entity_type_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_entity_type_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_chain_index_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_chain_index_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_chain_id_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_chain_id_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_chain_name_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_chain_name_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_chain_type_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_chain_type_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_bond_index_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_bond_index_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_bond_type_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_bond_type_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_bond_order_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_bond_order_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_bonded_atoms_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_bonded_atoms_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_bonded_atom_pairs_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_bonded_atom_pairs_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_inner_bond_index_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_inner_bond_index_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_inner_bonded_atoms_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_inner_bonded_atoms_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_inner_bonded_atom_pairs_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_inner_bonded_atom_pairs_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_atoms_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_atoms_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_groups_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_groups_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_components_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_components_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_molecules_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_molecules_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_chains_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_chains_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_entities_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_entities_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_bonds_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_bonds_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_inner_bonds_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_inner_bonds_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_amino_acids_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_amino_acids_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_nucleotides_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_nucleotides_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_ions_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_ions_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_waters_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_waters_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_small_molecules_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_small_molecules_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_lipids_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_lipids_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_oligosaccharides_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_oligosaccharides_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_saccharides_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_saccharides_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_peptides_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_peptides_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_proteins_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_proteins_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_dnas_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_dnas_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_rnas_from_component(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_rnas_from_component as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +## From molecule + + +@digest(form=form) +def get_atom_index_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_atom_index_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_atom_id_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_atom_id_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_atom_name_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_atom_name_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_atom_type_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_atom_type_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_group_index_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_group_index_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_group_id_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_group_id_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_group_name_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_group_name_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_group_type_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_group_type_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_component_index_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_component_index_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_component_id_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_component_id_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_component_name_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_component_name_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_component_type_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_component_type_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_molecule_index_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_molecule_index_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_molecule_id_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_molecule_id_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_molecule_name_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_molecule_name_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_molecule_type_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_molecule_type_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_entity_index_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_entity_index_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_entity_id_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_entity_id_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_entity_name_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_entity_name_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_entity_type_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_entity_type_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_chain_index_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_chain_index_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_chain_id_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_chain_id_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_chain_name_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_chain_name_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_chain_type_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_chain_type_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_bond_index_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_bond_index_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_bond_type_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_bond_type_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_bond_order_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_bond_order_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_bonded_atoms_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_bonded_atoms_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_bonded_atom_pairs_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_bonded_atom_pairs_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_inner_bond_index_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_inner_bond_index_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + + +@digest(form=form) +def get_inner_bonded_atoms_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_inner_bonded_atoms_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_inner_bonded_atom_pairs_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_inner_bonded_atom_pairs_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_atoms_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_atoms_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_groups_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_groups_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_components_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_components_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_molecules_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_molecules_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_entities_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_entities_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_chains_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_chains_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_bonds_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_bonds_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_inner_bonds_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_inner_bonds_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_amino_acids_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_amino_acids_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_nucleotides_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_nucleotides_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_ions_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_ions_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_waters_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_waters_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_small_molecules_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_small_molecules_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_lipids_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_lipids_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_oligosaccharides_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_oligosaccharides_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_saccharides_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_saccharides_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_peptides_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_peptides_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_proteins_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_proteins_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_dnas_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_dnas_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_rnas_from_molecule(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_rnas_from_molecule as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +## From entity + + +@digest(form=form) +def get_atom_index_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_atom_index_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_atom_id_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_atom_id_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_atom_name_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_atom_name_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_atom_type_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_atom_type_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_group_index_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_group_index_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_group_id_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_group_id_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_group_name_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_group_name_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_group_type_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_group_type_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_component_index_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_component_index_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_component_id_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_component_id_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_component_name_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_component_name_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_component_type_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_component_type_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_molecule_index_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_molecule_index_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_molecule_id_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_molecule_id_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_molecule_name_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_molecule_name_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_molecule_type_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_molecule_type_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_entity_index_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_entity_index_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_entity_id_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_entity_id_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_entity_name_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_entity_name_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_entity_type_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_entity_type_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_chain_index_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_chain_index_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_chain_id_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_chain_id_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_chain_name_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_chain_name_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_chain_type_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_chain_type_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_bond_index_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_bond_index_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_bond_type_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_bond_type_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_bond_order_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_bond_order_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_bonded_atoms_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_bonded_atoms_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_bonded_atom_pairs_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_bonded_atom_pairs_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_inner_bond_index_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_inner_bond_index_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_inner_bonded_atoms_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_inner_bonded_atoms_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_inner_bonded_atom_pairs_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_inner_bonded_atom_pairs_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_atoms_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_atoms_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_groups_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_groups_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_components_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_components_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_molecules_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_molecules_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_entities_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_entities_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_chains_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_chains_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_bonds_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_bonds_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_inner_bonds_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_inner_bonds_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_amino_acids_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_amino_acids_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_nucleotides_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_nucleotides_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_ions_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_ions_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_waters_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_waters_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_small_molecules_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_small_molecules_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_lipids_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_lipids_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_oligosaccharides_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_oligosaccharides_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_saccharides_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_saccharides_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_peptides_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_peptides_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_proteins_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_proteins_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_dnas_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_dnas_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_rnas_from_entity(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_rnas_from_entity as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +## From chain + + +@digest(form=form) +def get_atom_index_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_atom_index_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_atom_id_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_atom_id_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_atom_name_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_atom_name_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_atom_type_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_atom_type_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_group_index_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_group_index_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_group_id_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_group_id_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_group_name_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_group_name_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_group_type_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_group_type_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_component_index_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_component_index_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_component_id_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_component_id_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_component_name_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_component_name_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_component_type_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_component_type_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_molecule_index_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_molecule_index_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_molecule_id_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_molecule_id_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_molecule_name_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_molecule_name_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_molecule_type_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_molecule_type_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_entity_index_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_entity_index_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_entity_id_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_entity_id_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_entity_name_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_entity_name_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_entity_type_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_entity_type_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_chain_index_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_chain_index_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_chain_id_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_chain_id_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_chain_name_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_chain_name_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_chain_type_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_chain_type_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_bond_index_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_bond_index_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_bond_type_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_bond_type_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_bond_order_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_bond_order_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_bonded_atoms_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_bonded_atoms_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_bonded_atom_pairs_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_bonded_atom_pairs_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_inner_bond_index_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_inner_bond_index_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_inner_bonded_atoms_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_inner_bonded_atoms_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_inner_bonded_atom_pairs_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_inner_bonded_atom_pairs_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_atoms_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_atoms_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_groups_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_groups_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_components_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_components_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_molecules_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_molecules_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_entities_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_entities_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_chains_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_chains_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_bonds_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_bonds_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_inner_bonds_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_inner_bonds_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_amino_acids_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_amino_acids_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_nucleotides_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_nucleotides_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_ions_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_ions_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_waters_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_waters_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_small_molecules_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_small_molecules_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_lipids_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_lipids_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_oligosaccharides_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_oligosaccharides_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_saccharides_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_saccharides_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_peptides_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_peptides_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_proteins_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_proteins_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_dnas_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_dnas_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_rnas_from_chain(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_rnas_from_chain as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +## From bond + + +@digest(form=form) +def get_bond_index_from_bond(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_bond_index_from_bond as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_bond_order_from_bond(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_bond_order_from_bond as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_bond_type_from_bond(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_bond_type_from_bond as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_bonded_atoms_from_bond(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_bonded_atoms_from_bond as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_bonded_atom_pairs_from_bond(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_bonded_atom_pairs_bond as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_bonds_from_bond(item, indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_bonds_bond as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, indices=indices, skip_digestion=True) + + return output + + +## From system + + +@digest(form=form) +def get_n_atoms_from_system(item, skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_atoms_from_system as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_groups_from_system(item, skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_groups_from_system as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_components_from_system(item, skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_components_from_system as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_molecules_from_system(item, skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_molecules_from_system as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_entities_from_system(item, skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_entities_from_system as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_chains_from_system(item, skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_chains_from_system as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_bonds_from_system(item, skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_bonds_from_system as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_amino_acids_from_system(item, skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_amino_acids_from_system as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_nucleotides_from_system(item, skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_nucleotides_from_system as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_ions_from_system(item, skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_ions_from_system as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_waters_from_system(item, skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_waters_from_system as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_small_molecules_from_system(item, skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_small_molecules_from_system as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_lipids_from_system(item, skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_lipids_from_system as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_oligosaccharides_from_system(item, skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_oligosaccharides_from_system as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_saccharides_from_system(item, skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_saccharides_from_system as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_peptides_from_system(item, skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_peptides_from_system as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_proteins_from_system(item, skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_proteins_from_system as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_dnas_from_system(item, skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_dnas_from_system as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, skip_digestion=True) + + return output + + +@digest(form=form) +def get_n_rnas_from_system(item, skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_n_rnas_from_system as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, skip_digestion=True) + + return output + + +@digest(form=form) +def get_bond_index_from_system(item, skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_bond_index_from_system as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, skip_digestion=True) + + return output + + +@digest(form=form) +def get_bonded_atoms_from_system(item, skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_bonded_atoms_from_system as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, skip_digestion=True) + + return output + + +@digest(form=form) +def get_bonded_atom_pairs_from_system(item, skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_bonded_atom_pairs_from_system as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, skip_digestion=True) + + return output + + +@digest(form=form) +def get_inner_bond_index_from_system(item, skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_inner_bond_index_from_system as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, skip_digestion=True) + + return output + + +@digest(form=form) +def get_inner_bonded_atoms_from_system(item, skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_inner_bonded_atoms_from_system as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, skip_digestion=True) + + return output + + +@digest(form=form) +def get_inner_bonded_atom_pairs_from_system(item, skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_inner_bonded_atom_pairs_from_system as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, skip_digestion=True) + + return output + + +# List of functions to be imported + +__all__ = [name for name, obj in globals().items() if isinstance(obj, types.FunctionType) and name.startswith('get_')] + diff --git a/molsysmt/form/pdbfixer_PDBFixer/__init__.py b/molsysmt/form/pdbfixer_PDBFixer/__init__.py index 46774333f..7239b48b3 100644 --- a/molsysmt/form/pdbfixer_PDBFixer/__init__.py +++ b/molsysmt/form/pdbfixer_PDBFixer/__init__.py @@ -18,7 +18,8 @@ from .add import add from .merge import merge from .append_structures import append_structures -from .get import * +from .get_topological_attributes import * +from .get_structural_attributes import * from .set import * from .iterators import StructuresIterator, TopologyIterator diff --git a/molsysmt/form/pdbfixer_PDBFixer/get.py b/molsysmt/form/pdbfixer_PDBFixer/get.py deleted file mode 100644 index 1feacead8..000000000 --- a/molsysmt/form/pdbfixer_PDBFixer/get.py +++ /dev/null @@ -1,471 +0,0 @@ -####################################################################################### -########### THE FOLLOWING LINES NEED TO BE CUSTOMIZED FOR EVERY CLASS ################ -####################################################################################### - -from molsysmt._private.execfile import execfile -from molsysmt._private.exceptions import NotImplementedMethodError, NotWithThisFormError -from molsysmt._private.digestion import digest -from molsysmt._private.variables import is_all -from molsysmt import pyunitwizard as puw -import numpy as np - -form='pdbfixer.PDBFixer' - - -## From atom - -@digest(form=form) -def get_atom_id_from_atom(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_atom_id_from_atom as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_atom_name_from_atom(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_atom_name_from_atom as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_atom_type_from_atom(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_atom_type_from_atom as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_group_index_from_atom(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_group_index_from_atom as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_component_index_from_atom(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_component_index_from_atom as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_chain_index_from_atom(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_chain_index_from_atom as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_molecule_index_from_atom(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_molecule_index_from_atom as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_entity_index_from_atom(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_entity_index_from_atom as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_inner_bonded_atoms_from_atom(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_inner_bonded_atoms_from_atom as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_n_inner_bonds_from_atom(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_n_inner_bonds_from_atom as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_coordinates_from_atom(item, indices='all', structure_indices='all', skip_digestion=False): - - unit = puw.get_unit(item.positions) - coordinates = np.array(puw.get_value(item.positions)) - coordinates = coordinates.reshape(1, coordinates.shape[0], coordinates.shape[1]) - - if not is_all(structure_indices): - coordinates = coordinates[structure_indices,:,:] - - if not is_all(indices): - coordinates = coordinates[:,indices,:] - - coordinates = coordinates * unit - coordinates = puw.standardize(coordinates) - - return coordinates - -## From group - -@digest(form=form) -def get_group_id_from_group(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_group_id_from_group as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_group_name_from_group(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_group_name_from_group as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_group_type_from_group(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_group_type_from_group as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -## From component - -@digest(form=form) -def get_component_id_from_component(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_component_id_from_component as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_component_name_from_component(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_component_name_from_component as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_component_type_from_component(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_component_type_from_component as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -## From molecule - -@digest(form=form) -def get_molecule_id_from_molecule(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_molecule_id_from_molecule as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_molecule_name_from_molecule(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_molecule_name_from_molecule as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_molecule_type_from_molecule(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_molecule_type_from_molecule as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -## From chain - -@digest(form=form) -def get_chain_id_from_chain(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_chain_id_from_chain as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_chain_name_from_chain(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_chain_name_from_chain as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_chain_type_from_chain(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_chain_type_from_chain as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -## From entity - -@digest(form=form) -def get_entity_id_from_entity(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_entity_id_from_entity as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_entity_name_from_entity(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_entity_name_from_entity as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_entity_type_from_entity(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_entity_type_from_entity as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - - -## From system - -@digest(form=form) -def get_n_atoms_from_system(item, skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_n_atoms_from_system as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, skip_digestion=True) - - return output - -@digest(form=form) -def get_n_groups_from_system(item, skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_n_groups_from_system as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, skip_digestion=True) - - return output - -@digest(form=form) -def get_n_components_from_system(item, skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_n_components_from_system as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, skip_digestion=True) - - return output - -@digest(form=form) -def get_n_chains_from_system(item, skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_n_chains_from_system as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, skip_digestion=True) - - return output - -@digest(form=form) -def get_n_molecules_from_system(item, skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_n_molecules_from_system as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, skip_digestion=True) - - return output - -@digest(form=form) -def get_n_entities_from_system(item, skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_n_entities_from_system as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_n_bonds_from_system(item, skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_n_bonds_from_system as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, skip_digestion=True) - - return output - -@digest(form=form) -def get_n_structures_from_system(item, structure_indices='all', skip_digestion=False): - - return 1 - -@digest(form=form) -def get_box_from_system(item, structure_indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_box_from_system as aux_get - - tmp_item = to_openmm_Topology(item, structure_indices=structure_indices, skip_digestion=True) - output = aux_get(tmp_item, skip_digestion=True) - - return output - -@digest(form=form) -def get_time_from_system(item, structure_indices='all', skip_digestion=False): - - return None - -@digest(form=form) -def get_structure_id_from_system(item, structure_indices='all', skip_digestion=False): - - return None - -## From bond - -@digest(form=form) -def get_bond_order_from_bond(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_bond_order_from_bond as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_bond_type_from_bond(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_bond_type_from_bond as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - -@digest(form=form) -def get_bonded_atoms_from_bond(item, indices='all', skip_digestion=False): - - from . import to_openmm_Topology - from ..openmm_Topology import get_bonded_atoms_from_bond as aux_get - - tmp_item = to_openmm_Topology(item, skip_digestion=True) - output = aux_get(tmp_item, indices=indices, skip_digestion=True) - - return output - - -####################################################################################### -######### DO NOT TOUCH THE FOLLOWING LINES, JUST INCLUDE THEM AS THEY ARE ############# -####################################################################################### - -from os import path -this_folder = path.dirname(path.abspath(__file__)) -common_get = path.join(this_folder, '../../_private/common_get.py') -execfile(common_get, globals(), locals()) -del(path, this_folder, common_get) - diff --git a/molsysmt/form/pdbfixer_PDBFixer/get_structural_attributes.py b/molsysmt/form/pdbfixer_PDBFixer/get_structural_attributes.py new file mode 100644 index 000000000..6e4da05bc --- /dev/null +++ b/molsysmt/form/pdbfixer_PDBFixer/get_structural_attributes.py @@ -0,0 +1,65 @@ +####################################################################################### +########### THE FOLLOWING LINES NEED TO BE CUSTOMIZED FOR EVERY CLASS ################ +####################################################################################### + +from molsysmt._private.exceptions import NotImplementedMethodError, NotWithThisFormError +from molsysmt._private.digestion import digest +import types + +form='pdbfixer.PDBFixer' + + +## From atom + +@digest(form=form) +def get_coordinates_from_atom(item, indices='all', structure_indices='all', skip_digestion=False): + + unit = puw.get_unit(item.positions) + coordinates = np.array(puw.get_value(item.positions)) + coordinates = coordinates.reshape(1, coordinates.shape[0], coordinates.shape[1]) + + if not is_all(structure_indices): + coordinates = coordinates[structure_indices,:,:] + + if not is_all(indices): + coordinates = coordinates[:,indices,:] + + coordinates = coordinates * unit + coordinates = puw.standardize(coordinates) + + return coordinates + + +## From system + + +@digest(form=form) +def get_n_structures_from_system(item, structure_indices='all', skip_digestion=False): + + return 1 + +@digest(form=form) +def get_box_from_system(item, structure_indices='all', skip_digestion=False): + + from . import to_openmm_Topology + from ..openmm_Topology import get_box_from_system as aux_get + + tmp_item = to_openmm_Topology(item, structure_indices=structure_indices, skip_digestion=True) + output = aux_get(tmp_item, skip_digestion=True) + + return output + +@digest(form=form) +def get_time_from_system(item, structure_indices='all', skip_digestion=False): + + return None + +@digest(form=form) +def get_structure_id_from_system(item, structure_indices='all', skip_digestion=False): + + return None + + +# List of functions to be imported + +__all__ = [name for name, obj in globals().items() if isinstance(obj, types.FunctionType) and name.startswith('get_')] diff --git a/molsysmt/form/pdbfixer_PDBFixer/get_topological_attributes.py b/molsysmt/form/pdbfixer_PDBFixer/get_topological_attributes.py index daf9f6f9a..c0ae96d53 100644 --- a/molsysmt/form/pdbfixer_PDBFixer/get_topological_attributes.py +++ b/molsysmt/form/pdbfixer_PDBFixer/get_topological_attributes.py @@ -4072,7 +4072,7 @@ def get_n_dnas_from_system(item, skip_digestion=False): def get_n_rnas_from_system(item, skip_digestion=False): from . import to_openmm_Topology - from ..openmm_Topology import get_n_dnas_from_system as aux_get + from ..openmm_Topology import get_n_rnas_from_system as aux_get tmp_item = to_openmm_Topology(item, skip_digestion=True) output = aux_get(tmp_item, skip_digestion=True) @@ -4083,31 +4083,73 @@ def get_n_rnas_from_system(item, skip_digestion=False): @digest(form=form) def get_bond_index_from_system(item, skip_digestion=False): + from . import to_openmm_Topology + from ..openmm_Topology import get_bond_index_from_system as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, skip_digestion=True) + + return output @digest(form=form) def get_bonded_atoms_from_system(item, skip_digestion=False): + from . import to_openmm_Topology + from ..openmm_Topology import get_bonded_atoms_from_system as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, skip_digestion=True) + + return output @digest(form=form) def get_bonded_atom_pairs_from_system(item, skip_digestion=False): + from . import to_openmm_Topology + from ..openmm_Topology import get_bonded_atom_pairs_from_system as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, skip_digestion=True) + + return output @digest(form=form) def get_inner_bond_index_from_system(item, skip_digestion=False): + from . import to_openmm_Topology + from ..openmm_Topology import get_inner_bond_index_from_system as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, skip_digestion=True) + + return output @digest(form=form) def get_inner_bonded_atoms_from_system(item, skip_digestion=False): + from . import to_openmm_Topology + from ..openmm_Topology import get_inner_bonded_atoms_from_system as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, skip_digestion=True) + + return output @digest(form=form) def get_inner_bonded_atom_pairs_from_system(item, skip_digestion=False): + from . import to_openmm_Topology + from ..openmm_Topology import get_inner_bonded_atom_pairs_from_system as aux_get + + tmp_item = to_openmm_Topology(item, skip_digestion=True) + output = aux_get(tmp_item, skip_digestion=True) + + return output # List of functions to be imported