All Classes and Interfaces
Class
Description
Adds nodes to the cluster member.
Directs COFFEE to find the K best sequences by binding affinity
The complex and design should be mutable, the target should not.
Calculate energies from a compiled ConfSpace.AssignedCoords according to the Amber forcefield.
Forcefield approximators for RC,residue pairs in a conf space
This class selects an I0 and Ew for pruning so we can know ahead of time
that the error in partition functions due to skipping pruned conformations is < epsilon.
A copy of the conf space atom coords with the desired assignments.
High-performance lookups of atom pairs by bond chain length
A backrub perturbation
This is a set of consecutive residues whose backbones can move freely,
subject to distance, angle, and omega constraints
The freely moving zone is anchored fix CA's at either end
This is a DOF that's part of a BBFreeBlock
Implementation of the BBK* algorithm to predict protein sequence mutations that improve
binding affinity by computing provably accurate Boltzmann-weighted ensembles
.
Track the K best things by lowest value, allowing ties.
serializes BigDecimal instances to as fixed-length byte arrays
based on the MathContext precision
supports MathTools pseudo-values for BigDecimal like -/+inf, NaN
A ridiculously simplistic and naive way to have floating point values with larger exponents than +-300 ish
but also have fast performance for multiply and max
(BigDecimal is relatively slow)
The BigExp number type consists of a floating point component (fp), and an exponent component (exp).
A fixed-size storage space divided into blocks, with a very simple memory allocator
Environmental conditions, like temperature and the gas constant.
Evaluates \int_a^b exp(-f(x)/RT) dx by Simpson's rule
A worker thread that forces all work submitted from other threads to be serialized.
Informs other cluster members about a member's current state.
Playground for CATS
Using it to make a figure for the paper
Meant to run in 2O9S_L2 directory
http://www.catster.com/lifestyle/why-there-is-no-such-thing-as-a-cat-park
StrandFlex representing a range of residues with all dihedral DOFs subject to loop closure
//(i.e.
Deletes all nodes for a state
Provides parallelism across a compute cluster using Hazelcast.
a cluster of data points in R^1
a cluster of data points in S^1
A boltzmann-weighted energy matrix that can be computed in parallel on a cluster.
A clusterized successor to SOFEA that uses compiled conformation spaces.
Tells COFFEE what nodes to look for and when to stop looking
Implementation of the COMETS multi-state algorithm to predict protein sequence mutations that improve binding affinity.
A Linear Multi-state Energy
(i.e., a weighted combination of state energies)
A state for a multi-state design
(e.g., an unbound state, or a complex state)
For COMETS, all states must share the same sequence space.
Node for sequence-based A* (COMETS) tree
Has to deal with conformational search, so significantly more complex than standard A* node
Tree for constrained optimization of multistate energies by tree search
Based on test/GMEC/TestSimpleGMECFinder,
but with added complications like DEEPer and LUTE
Shows information about a single conformation.
Tracks all the info needed to create a ConfTable or SequenceDB,
but can be serialized and sent over a network.
The energy calculator interface for molecules created from compiled conformation spaces.
Calculate energy for molecules created from conformation spaces.
Deprecated.
Implementation of a tuple expander that expands conformational energies--
including continuous flexibility, non-pairwise terms, etc.
tool for reading text files that have sections
section headers are lines that look like:
[section name]
This class outputs info (structures, energies) on specified conformations
in a conformation file
Deprecated.
Some conformational degrees of freedom (loop closure adjustment, proline pucker)
have parameter values that, for certain starting conformations, are
geometrically impossible.
A generic interface for A* searches over a conformatio space.
A conformation from a conformation space with an associated score,
and an associated energy.
Lets multiple consumers read confs from the stream regardless of order of reads.
A conformation from a conformation space with an associated score.
Lets exactly two consumers read confs from the stream, where one consumer
always reads before the other.
A cache for ConfSearch instances where the most N recently used
instances are protected by strong references and cannot be garbage
collected.
A conformation space that reads the output produced by the ConfSpaceCompiler in the GUI.
An interface to a conformation space that only exposes
enough information to iterate over design positions and conformations.
Manipulates atom positions in an AssignedCoords by varying continuous parameters.
A description of a continuous motion affecting a conformation.
A description of a continuous motion affecting a molecule.
A supremely efficient representation for atomic coordinates.
A basic conformation energy calculator implementation, written in pure Java.
An energy calculator that uses CUDA GPUs to accelerate the computation.
This class deals with D-amino-acid specific operations
D amino acids are named as "DX" + one-letter code, e.g.
A more complicated version of the SimpleGMECFinder, supporting DEE and related algorithms (EPIC, LUTE, etc.)
Holds parameters that control a DEEPer run
StrandFlex representing a perturbation block
A single dimension over which a minimizer can explore
the energy landscape of a continuous motion.
This is a RigidBodyMotion that changes the dihedral defined by some specified atoms
A block of degrees of freedom that are applied together
Manages the EEF1 solvation parameters;
EEF1 handles only natural amino acids, so solvation energies are computed for proteins and ligands (natural amino acids) only, and not cofactors;
Some important notes about assumptions of the EEF1 model are given in the comments to getSolvationParameters()
Calculate energies from a compiled ConfSpace.AssignedCoords according to the EEF1 forcefield.
Calculates energy matrices for a conformation space.
Essentially a histogram of gaps in the energy bounds.
Calculates the energy of atomic coordinates according to a forcefield definition.
Computes the energy of a molecule fragment from a conformation space using the desired forcefield parameters
and residue interactions.
Create an energy calculator that shares resources with an existing energy calculator,
(including thread pools, GPUs, atom connectivity cache, forcefield),
but can have different configuration.
Matrix of energies between pairs of residue conformations.
Deprecated.
An energy function representing a sum of EPIC terms
it evaluates them using the DOF values in curDOFVals
A matrix of 1-body, pairwise, etc.
Calculate reference energies for a conformation space.
Adapted from BBKStar.java by lowegard
Implementation of the COMETS multi-state algorithm to predict protein sequence mutations that improve binding affinity.
A state for a multi-state design
(e.g., an unbound state, or a complex state)
For COMETS, all states must share the same sequence space.
This partition function calculator estimates the partition function value
by alternating between two operations:
1.
based on PartitionFunction.java, author: lowegard
Manages the computation of exp(x) for large values of x, using BigDecimal;
For large values of x, the standard Math.exp(x) cannot be used, since it only has double precision;
Implements pow() for integer powers of a BigDecimal number and an approximation to the natural logarithm of a BigDecimal number
Deprecated.
A fairly efficient line iterator for parsing text files.
An index that allows queries for items with high scores,
but drops items with low scores to make extra space.
Deprecated.
Contains forcefield parameters for a variety of different published forcefields.
An efficient and resilient database for storing fringe nodes in bounded space.
This sampler samples preferentially from the low-energy region about the center
Used when this region is too small to be efficiently reached for this purpose
It samples Gaussianly about the center,
with variance determined by initial explorations
This class handles the calculation of the generalized chi1
When we're moving around sidechains as a rigid body, idealization tells us where to place the CB
but this still leaves one degree of freedom (chi1, when defined; else a generalized chi1)
to determine the sidechain pose
Uses a thread to emulate a continuation-powered generator function.
Returns the highest-scoring node from a cluster member.
Returns the highest-scoring node from a cluster member.
Access GLibC functions from Java
Deprecated.
A space of sequences that we want to limit a GMEC search to
Defined by a mut file
This partition function calculator estimates the partition function value
by alternating between two operations:
1.
This partition function calculator estimates the partition function value
by alternating between two operations:
1.
This is an object associated to a particular tuple t (pair or higher) in a TupleMatrix
It lists any higher-tuples that include t and that have non-trivial values
("trivial" meaning 0 for energies, unpruned for pruning)
Tuples of order size(t)+1 are held explicitly; we recursively list HigherTupleFinder
objects for higher orders if there are even bigger tuples
A tuple expander wrt sequences for some residues and RC's for others
When trying to get the free energy of a conformation,
it could help to have a separable reference objective function that can be integrated 1 DOF at a time
but whose delta G from the actual conf could be computed quickly by BAR
this is an idealized version of that (matches true conf energy exactly along axes)
to see if can get good accuracy with not too many samples
This class is meant to be part of a residue template; it specifies
what inter-residue bonds the template can form
Since residues may be disordered, we do not always expect these bonds to be present though
This will draw samples from a voxel
Collection of intra+shell atoms that interact with an atom at1, made to be iterable over
Modified least-squares fitter for LUTE coefficients
Uses iterations of conjugate gradient
Implementation of the K* algorithm to predict protein sequence mutations that improve
binding affinity by computing provably accurate Boltzmann-weighted ensembles
.
Special beak for K*, relies on tuple expander machinery
rather than dealing with repeated matrix entries
thus easier to do higher-order terms wrt sequence
Deprecated.
An implementation of the K* algorithm that uses
COFFEE for partition function calculation.
Sorts the chosen levels of a conf tree in the desired order
and pushes those levels to the top of the tree.
For each residue in a ligand, calculate its interactions with the target
Linear multistate energy
This is a discrete perturbation that performs a backbone
conformational change on just 3 residues, preserving bond lengths and angles and omegas
The motion is composed of the same 3 rotations as a backrub, but for different angles
Sample conformations of a loop within a voxel, CA to CA flexible)
Just like SimpleGMECFinder, except it doesn't use lower bounds on conformation
energies at all.
Since LUTE energies are assumed to be correct, we don't have to deal with
minimization and bounding, so it's vastly easier to estimate partition functions.
Settings for LUTE
a persistable form of all the state needed to compute conformation energies
A utility for LZMA2 compression and decompression.
Implementation of the K* algorithm to predict protein sequence mutations that improve
binding affinity by computing provably accurate Boltzmann-weighted ensembles
.
returns the smallest dihedral angle distance to 180 among the d atoms
in-plane angle of the ith d atom, sorted by out-of-plane angle distance to -90 degrees (eg CH2 groups)
out-of-plane angle of the ith d atom, sorted by out-of-plane angle distance to -90 degrees (eg CH2 groups)
A tool to easily write primitive types to a MemorySegment,
without the limitations of NIO ByteBuffers and without exposing the incubating jdk.incubator.foreign module
to API clients.
Playing with minimization
Deprecated.
Finishes SOFEA computation when we've found the best K sequences
that minimize an LMFE objective function.
A molecule is a list of
Residue and their alternatesThis is a subportion of the molecule that can move as a rigid body
there may be other (e.g., dihedral) motions on top of that
basically COMETS, but with thermodynamic ensembles
at least, that's the goal
A Linear Multi-state Free Energy
(i.e., a weighted combination of state free energies)
A state for a multi-state design
(e.g., an unbound state, or a complex state)
A composite conformation space composed of other conformation spaces.
A thread-safe cache for MutAlignment instances, which are relatively expensive to compute
A reference implementation of a conformation minimizer and energy calculator in C++, rather than Java.
Tracks statistics about other members in the cluster.
This version of NewCOMETSDoer is intended to be usable via Python
SimpleConfSpace/Python version of COMETSTree
A TupleExpander that is based on minimized conformational energies like ConfETupleExpander,
but uses the SimpleConfSpace/ConfEnergyCalculator framework instead of SearchProblem
SimpleConfSpace/MoleculeObjectiveFunction version of EPICMatrix
also made to provide full EPIC energies instead of E-mtx lower bounds + EPIC cont part,
thus avoiding error if the minimizer found different minima when computing the E mtx and the EPIC mtx
A version of Pruner that works with PrecomputedMatrices instead of SearchProblem
Goes with NewPruningControl
A specialization of FixedIndex for COFFEE nodes.
Collects statistics on node processing.
ie, a no-op
ie, a no-op
Reads and writes OSPREY Molecules as TOML files
Fit just one EPIC term
This is to improve EPIC by dealing with problem terms
Deprecated.
Specified how Osprey should use available hardware.
Sometimes we will want to minimize conformations in parallel,
so each thread will need a copy of the molecule and its DOFs.
A
Molecule instance with associated continuous degrees of freedom.Handles reading in and managing parameter/value pairs from the input configuration files
This is a perturbation that substitutes in the backbone conformation from alternate structures
Implementation of the K* algorithm to predict protein sequence mutations that improve
binding affinity by computing provably accurate Boltzmann-weighted ensembles
.
This partition function calculator estimates the partition function value
by alternating between two operations:
1.
based on PartitionFunction.java, author: lowegard
this is a clean PDB reader that doesn't know anything about templates or bonds
its only job is to turn PDB text into a molecule representing a polymer with residues and atoms
This is a linear model of a peptide plane, allowing us to get C', H, and O
coordinates as a linear function of the N and CA coordinates (CA1, N, CA2)
This model can be used even if the peptide plane is translated and rotated
Description of the perturbations in our system,
not set up in a molecule (describes the content of a .pert file)
A perturbation, as in DEEPer
Note: This DEEPer package, unlike the rest of the software,
consists of perturbations specific to proteins
and so it will make explicit reference to protein atoms outside HardCodedResidueInfo
DEEPer perturbations can be used in the protein part of a mixed protein-nonprotein system
In DEEPer, perturbations don't necessarily commute
We'll put them into "perturbation blocks," which do
this way, when we want to apply a parameter value for a perturbation,
we can appropriately handle any perturbations that come after it
Note: All sidechains within a perturbation block will be idealized (in the C-beta sense)
since the original sidechain conformations are no longer valid for perturbed backbones
Deprecated.
Samples the 2D decision space of estimating a partition function
(ie, refine the upper bound, or refine the lower bound)
and reports the delta value of the pfunc estimation as a VTK file.
Pruning of Local Unrealistic Geometries (PLUG)
prunes RC tuples if probe-style clashes are unavoidable
An energy function that evaluates the Poisson-Boltzmann solvation energy for a molecule
A matrix of polytopes representing the allowed area
According to this matrix, confs for a given RC list will be limited
to the intersection of the polytopes for all RC tuples within that list
(note: DOF bounds won't be in this list bc too redundant)
An energetic interaction between design positions in a conformation space.
Defines how position interactions should be distributed
among conformation fragments.
Position Interaction Generator
Generates position interactions for conformation energy calculators.
Information about RC tuples in a single-state design system (possibly part of a multistate design)
Stored in matrices.
A fast and correct implementation of FixedIndex.
implements probe-style rules for describing non-bonded atomic interactions,
eg close contacts, clashes, hydrogen bonds, salt bridges
probe is software available at:
http://kinemage.biochem.duke.edu/software/probe.php
This version of AtomNeighbors matches the convention in Probe
where atoms bonded 1,5 are only treated as non-bonded if neither is an H
This degree of freedom specifies the ring pucker of a proline
0 indicates the original pucker, and 1 the "flipped" one
eg the bond geometry around a Ca atom:
a = N
b = Ca
c = C
d = Cb
center is b
inPlaneAxis is halfway between ba and bc, negated and normalized
outOfPlaneAxis is perpendicular to the plane of a-b-c, normalized
the main game here is comparing PLUG and DEE
a cyclic signal, ie it can be reused multiple times
Q-function for Metropolis sampling in one dimension within a voxel
the energy surface is likely to be roughly quadratic in each dimension
(at least around the current point)
A queue that can only be iterated once.
A special interface for FIFO queues, since they allow
more space-efficient in-place filtering.
Samples confs for a tuple by doing DFS search.
Runs a task no more than once every interval.
This class looks for possible contacts between atoms in a pair of RCs
or between an RC and the shell if there's just one RC
It makes a polytope representing the geometrically favorable region, or determines there is none
For now, assuming a polytope suffices and that pushing any of the good contacts that are possible
anywhere in the voxel out of the favorable distance range will create a hole or clash
Then higher-order checks on the voxels (up to full confs) can limit themselves to the
intersection of pairwise polytopes, and can check the contacts in each pair to make sure
each atom that should have a contact does have one
An n-sized tuple for holding pairs of design positions with their corresponding discrete adopted conformation.
Polytope for a particular set of DOFs, representing the feasible region for an RC tuple
This class computes a reference energy for each residue position & AA type
(which is the minimum intra-RC energy at that position & AA type)
and then corrects the energy matrix accordingly
Records backbone coordinates for a residue,
so we can restore them when performing perturbations
Sidechain is moved as a rigid body (including CA)
A Residue is a piece of a molecular system that can mutate, take on RCs, etc.
Represents interactions between residues (or within single residues) based on residue
numbers.
This class implements a collection of Residues with fast lookups.
Library of
ResidueTemplate instances used by Strand instances to define discrete flexibilty.Helper class to create
ResidueInteractions
First call ResInterGen.of(yourConfSpace), then .addXXX() for each interactions you wish to add.This class implements a rotamer library reader.
x
ie, residue types
analagous to the RCs class for residue conformations
Sparse Atom-Pair Energies
This is a listing of atom-pair energies for just a small number of the atom pairs
involved in an interactions
efficiently-accessible assignment info regardless of how nodes are implemented internally
position orders must always be sorted in increasing order
A database of information about sequences.
This is for when you have a bunch of sequences and you want the GMEC for each
Commands: -c KStar.cfg findSeqGMECs System.cfg DEE.cfg sequences.mut
analogous to the conf space, but just for sequences
Shows information about a single sequence.
Finished SOFEA computation when the state free energies for a single sequence
reach a desired precision.
Shear perturbation: small perturbation appropriate for helices
This class handles idealization of sidechains;
residues moved by DEEPer have idealized sidechains because orig sidechain geometry
not valid for perturbed backbones
Maintains the design positions and residue conformations for a list of strands.
What kind of degree of freedom?
Used mainly to decide if we can use GPU CCD implementations or not,
which only support dihedral angles for now.
Simple, fast implementation of DEE.
Runs various pruning algorithms including
steric/threshold pruning
Dead-End Elimination (DEE)
Pruning of Local Unrealistic Geometries (PLUG)
Transitive pruning (ie, prune tuples implied by other pruned tuples)
to remove tuples of RCs that will not appear in low-energy conformations.
Deprecated.
Deprecated.
Deprecated.
Deprecated.
Searches a conformation space for the single conformation that minimizes the
desired energy function, ie the Global Minimum Energy Conformation, or GMEC.
This partition function calculator estimates the partition function value
by alternating between two operations:
1.
This class stores a reference energy for each residue position & AA type
(which is the minimum intra-RC energy at that position & AA type)
a cartesian product of intervals in S^1 x S^1 x S^1 ...
an interval on S^1, localized around a point
SOFEA - Sweep Operations for Free Energy Approximation
Explores a (possibly multi-sequence and multi-state) conformation space by visiting
subtrees containing low-energy conformations first, in less than exponential memory.
decides if computation should continue or not, and which nodes we should process
Per-state configuration needed to run SOFEA.
A forcefield energy consisting of only the electrostatics and VDW energies for a selected set of residue pairs
Involves only 1 pairs of residues (pairwise interactions) or a single residue (intra-residue energies)
Used for SAPE
This writes some particular kind of warning to a special file
e.g., residues that are deleted because we can't find a template for them
A molecule with associated residue flexibility information.
configured flexibility for one residue
A crude way to represent and access C structs and arrays
using MemoryAddresses and MemoryHandles from the Foreign-Memory Access API.
Determines the level of floating-point precision for calculations.
chooses the most ideal template for each residue type from a folder full of PDB files
Checks if each tuple can possibly be part of a full unpruned conformation.
Uses simple flat array storing triples.
Like ConfPair but with an (RCTuple,energy) pair
Chooses what tuple expansion to make for a particular problem (what tuples to include),
uses a TupleExpander to calculate it
Can use a pairwise expansion, or can look at how changes at certain positions affect
other local energies, to get a comprehensive higher-order expansion
Create an energy matrix that approximates a function of many integers (e.g., list of RCs for all
flexible residues) as a sum of terms dependent on low-order tuples (e.g., tuple
of RCs at a few positions)
This TupleMatrix gives the indices for all the tuples in a TupleExpander
It is intended for fast lookup of what tuples are in a given sample
(for use in fitting: in large designs, storing all tuples for each samples
is taking too much memory)
Provies efficient mapping between tuples and tuple indices.
efficient storage for high-dimensional RC tuples based on a prefix tree (aka "trie")
Deprecated.
Within a given state, each node in the COMETS tree can have a different set of unpruned
RCs and pairs, but these will usually be small updates to the previous node
This "updated" matrix will behave as a pruning matrix for purposes of storing/checking
pruned RCs and pairs at a node, but without full storage
tool to write VisIt files for various data sets
This for checking for repeats of voxel constraints in a polytope
Calculates the free energy for a voxel.
Calculate the energy difference between two voxels, using BAR-type method
This function checks if a particular series for full DOFs as a function of free DOFs
is accurate over a particular voxel
in terms of constraints being nearly satisfied
Explore distances between atoms w/ significant VDW
For a specified voxel (bounds on specified dihedrals),
check if VDW interactions between the specified atoms
can be made to fall in range
FOR NOW use linear programming, (relaxing clashes?? or linearize if need, thus cutting vox)
Allows threads to wait for a large amount of work to be finished.
a matrix of Boltzmann-weighted energies