openforcefield.topology.ImproperDict

class openforcefield.topology.ImproperDict(*args, **kwargs)[source]

Symmetrize improper torsions.

Methods

clear()

get(k[,d])

index_of(key[, possible])

Generates a canonical ordering of the equivalent permutations of key (equivalent rearrangements of indices) and identifies which of those possible orderings this particular ordering is.

items()

key_transform(key)

Reorder tuple in numerical order except for element[1] which is the central atom; it retains its position.

keys()

pop(k[,d])

If key is not found, d is returned if given, otherwise KeyError is raised.

popitem()

as a 2-tuple; but raise KeyError if D is empty.

setdefault(k[,d])

update([E, ]**F)

If E present and has a .keys() method, does: for k in E: D[k] = E[k] If E present and lacks .keys() method, does: for (k, v) in E: D[k] = v In either case, this is followed by: for k, v in F.items(): D[k] = v

values()

__init__(*args, **kwargs)

Initialize self. See help(type(self)) for accurate signature.

Methods

__init__(*args, **kwargs)

Initialize self.

clear()

get(k[,d])

index_of(key[, possible])

Generates a canonical ordering of the equivalent permutations of key (equivalent rearrangements of indices) and identifies which of those possible orderings this particular ordering is.

items()

key_transform(key)

Reorder tuple in numerical order except for element[1] which is the central atom; it retains its position.

keys()

pop(k[,d])

If key is not found, d is returned if given, otherwise KeyError is raised.

popitem()

as a 2-tuple; but raise KeyError if D is empty.

setdefault(k[,d])

update([E, ]**F)

If E present and has a .keys() method, does: for k in E: D[k] = E[k] If E present and lacks .keys() method, does: for (k, v) in E: D[k] = v In either case, this is followed by: for k, v in F.items(): D[k] = v

values()

static key_transform(key)[source]

Reorder tuple in numerical order except for element[1] which is the central atom; it retains its position.

static index_of(key, possible=None)[source]

Generates a canonical ordering of the equivalent permutations of key (equivalent rearrangements of indices) and identifies which of those possible orderings this particular ordering is. This method is useful when multiple SMARTS patterns might match the same atoms, but local molecular symmetry or the use of wildcards in the SMARTS could make the matches occur in arbitrary order.

This method can be restricted to a subset of the canonical orderings, by providing the optional possible keyword argument. If provided, the index returned by this method will be the index of the element in possible after undergoing the same canonical sorting as above.

Parameters
keyiterable of int

A valid key for ValenceDict

possibleiterable of iterable of int, optional. default=``None``

A subset of the possible orderings that this match might take.

Returns
indexint
clear() → None. Remove all items from D.
get(k[, d]) → D[k] if k in D, else d. d defaults to None.
items() → a set-like object providing a view on D’s items
keys() → a set-like object providing a view on D’s keys
pop(k[, d]) → v, remove specified key and return the corresponding value.

If key is not found, d is returned if given, otherwise KeyError is raised.

popitem() → (k, v), remove and return some (key, value) pair

as a 2-tuple; but raise KeyError if D is empty.

setdefault(k[, d]) → D.get(k,d), also set D[k]=d if k not in D
update([E, ]**F) → None. Update D from mapping/iterable E and F.

If E present and has a .keys() method, does: for k in E: D[k] = E[k] If E present and lacks .keys() method, does: for (k, v) in E: D[k] = v In either case, this is followed by: for k, v in F.items(): D[k] = v

values() → an object providing a view on D’s values