besmarts.assign.hierarchy_assign_native module

besmarts.assign.hierarchy_assign_native

Assign molecule structures to a SMARTS hierarchy using pure BESMARTS matching

besmarts.assign.hierarchy_assign_native.smarts_hierarchy_assign(sh: smarts_hierarchy, gcd: graph_codec, smiles: List[str], topo: structure_topology)[source]
besmarts.assign.hierarchy_assign_native.smarts_hierarchy_assign_angles(sh: smarts_hierarchy, gcd: graph_codec, smiles: str)[source]
besmarts.assign.hierarchy_assign_native.smarts_hierarchy_assign_atoms(sh: smarts_hierarchy, gcd: graph_codec, smiles: List[str])[source]
besmarts.assign.hierarchy_assign_native.smarts_hierarchy_assign_bonds(sh: smarts_hierarchy, gcd: graph_codec, smiles: List[str])[source]
besmarts.assign.hierarchy_assign_native.smarts_hierarchy_assign_outofplanes(sh: smarts_hierarchy, gcd: graph_codec, smiles: str)[source]
besmarts.assign.hierarchy_assign_native.smarts_hierarchy_assign_structures(sh: smarts_hierarchy, gcd, topo, ics: List[structure])[source]
besmarts.assign.hierarchy_assign_native.smarts_hierarchy_assign_torsions(sh: smarts_hierarchy, gcd: graph_codec, smiles: str)[source]
class besmarts.assign.hierarchy_assign_native.smarts_hierarchy_assignment_native[source]

Bases: smarts_hierarchy_assignment

The BESMARTS labeler. Note that this is much slower than the more developed toolkits. Using this labeler only has the advantage that it is possible to search a single structure (set of indices) in a molecule, rather than searching the entire molecule for all possible matches. This can be useful when you are interested in specific environments in large molecules, like proteins.

Note that this still requires a SMILES graph codec, which is not provided by BESMARTS. Decode the SMILES first, then load in the serialized file

assign(shier: smarts_hierarchy, gcd: graph_codec, smi: List[str], topo: structure_topology) smiles_assignment_group[source]
assign_angles(shier: smarts_hierarchy, gcd: graph_codec, smi: List[str]) smiles_assignment_group[source]
assign_atoms(shier: smarts_hierarchy, gcd: graph_codec, smi: List[str]) smiles_assignment_group[source]
assign_bonds(shier: smarts_hierarchy, gcd: graph_codec, smi: List[str]) smiles_assignment_group[source]
assign_impropers(shier: smarts_hierarchy, gcd: graph_codec, smi: List[str]) smiles_assignment_group[source]
assign_torsions(shier: smarts_hierarchy, gcd: graph_codec, smi: List[str]) smiles_assignment_group[source]
besmarts.assign.hierarchy_assign_native.structure_hierarchy_assign(sh: structure_hierarchy, roots, structs)[source]