Jess#
- class pyjess.Jess#
A handle to run Jess over a list of templates.
Added in version 0.4.0: Equality, hashing and pickle protocol support.
- __init__(templates=())#
Create a new Jess database containing the given templates.
- Parameters:
templates (sequence of
Template) – The templates to index in the database for further querying.
- query(molecule, rmsd_threshold, distance_cutoff, max_dynamic_distance, *, max_candidates=1000, ignore_chain=False, best_match=False, reorder=True)#
Scan for templates matching the given molecule.
- Parameters:
molecule (
Molecule) – The protein to match the templates to.rmsd_threshold (
float) – The RMSD threshold for reporting results.distance_cutoff (
float) – The global distance cutoff used to guide the search.max_dynamic_distance (
float) – The maximum template/query dynamic distance after adding the global distance cutoff and the individual atom distance cutoff defined for each atom of the template.ignore_chain (
bool) – Whether to check or ignore the chain of the atoms to match.best_match (
bool) – PassTrueto return only the best match to each template.reorder (
bool) – Whether to enable template atom reordering to accelerate matching in the scanner algorithm. PassFalseto reverse to the original, slower algorithm which matches atoms in the same order as they appear in the template, at the cost
- Returns:
Query– An iterator over the query hits.
Caution
Since
v0.6.0, this function uses an optimized variant of the Jess scanning algorithm which minimized the number of steps needed to generate matches, by re-ordering the order the template atoms are iterated upon. Because of this change, the query may return exactly the same matches but in an order that differs from the original Jess version. If you really need results in the original order, setreordertoFalse.Added in version 0.6.0: The
reorderargument, defaulting toTrue.
- class pyjess.Query#
A query over templates with a given molecule.
Jess iterates over the templates and attempt matches the query molecule, so the hits can actually be generated iteratively. This class allows accessing the hits as a Python iterator.
- __iter__()#
Implement iter(self).
- class pyjess.Hit#
A hit identified between a query molecule and a target template.
- __getstate__()#
Helper for pickle.
- __new__(**kwargs)#
- atoms(transform=True)#
Get the list of query atoms matching the template.
- molecule(transform=False)#
Get the molecule matching the template.
- Parameters:
transform (
bool) – Whether or not to transform coordinates of the molecule atoms into template frame.- Returns:
Molecule– The matching molecule, optionally rotated to match the template coordinate.
Added in version 0.5.0.