fast.analysis

fast.analysis.contacts module

class fast.analysis.contacts.ContactsWrap(base_struct, atom_indices=None)[source]

Bases: base_analysis

Analyses the fraction of native contacts.

Parameters
  • base_struct (str or md.Trajectory,) – The base structure to compare for native contacts. This topology must match the structures to analyse. Can be provided as a pdb location or an md.Trajectory object.

  • atom_indices (str or array,) – The atom indices to use for computing native contacts. Can be provided as a data file to load or an array.

Variables

output_name (str,) – The file containing rankings.

property analysis_folder
property base_output_name
property class_name
property config
run()[source]
fast.analysis.contacts.best_hummer_q(traj, native, verbose=False, native_cutoff=0.45)[source]

Compute the fraction of native contacts according the definition from Best, Hummer and Eaton [1]. Adapted from: ‘http://mdtraj.org/latest/examples/native-contact.html

Parameters
  • traj (md.Trajectory) – The trajectory to do the computation for

  • native (md.Trajectory) – The ‘native state’. This can be an entire trajecory, or just a single frame. Only the first conformation is used

Returns

q – The fraction of native contacts in each frame of traj

Return type

np.array, shape=(len(traj),)

References

..[1] Best, Hummer, and Eaton, “Native contacts determine protein folding

mechanisms in atomistic simulations” PNAS (2013)

fast.analysis.distances module

class fast.analysis.distances.DistWrap(atom_pairs, p_norm=1, set_points=None, center_of_mass=False)[source]

Bases: base_analysis

Analysis wrapper for calculating distances between atom pairs.

Parameters
  • atom_pairs (array, shape=(n_pairs, 2),) – The list of atom-pairs to use for calculating distances.

  • p_norm (int, default=1,) – The p-norm to use when processing distance pairs. i.e. ||x||_p := sum(|x_i|^p)^(1/p)

  • set_points (array, shape=(n_pairs,), default=None,) – A list of reference distances for each atom pair. If provided, reports deviation from these distances.

  • center_of_mass (bool, default=False,) – Optionally calculate distance between center of mass between pairs of atoms. Specifically, calculates the distance between the center of mass of the first column of atoms and the center of mass of the second column of atoms.

Variables

output_name (str,) – The file containing rankings.

property analysis_folder
property base_output_name
property class_name
property config
run()[source]
fast.analysis.distances.load_domain_indices(filename)[source]

fast.analysis.minimize module

class fast.analysis.minimize.MinimizeWrap(top_file, mdp_file, n_cpus=1, build_full=True, **kwargs)[source]

Bases: base_analysis

Analysis wrapper for minimizing structures and returning a potential energy.

Parameters
  • top_file (str,) – Filename of the gromacs topology file to be used with each minimization.

  • mdp_file (str,) – The gromacs parameter file to be used with minimization.

  • n_cpus (int,) – The number of cpus to use for minimization. This is NOT per minimization, but the total cpus available (each minimization uses 1 cpu, but is parallelized).

  • build_full (bool,) – Flag to either minimize all structures or to continue previous minimizations

Variables
  • msm_dir (str,) – The MSM and adaptive sampling analysis directory.

  • output_folder (str,) – The directory within the msm_dir that contains minimizations.

  • output_name (str,) – The filename of the final rankings.

property analysis_folder
property base_output_name
property class_name
property config
run()[source]
fast.analysis.minimize.minimize_energies(minimize_obj, pdb_filenames, output_folder, n_cpus)[source]

Minimizes a set of pdb files.

Inputs

minimize_objobject,

Minimization wrapper.

pdb_filenameslist,

List of pdb filenames to minimize.

output_folderstr,

The folder to generate output data.

n_cpusint,

The number of processes to use.

fast.analysis.minimize.parse_logs_for_energies(output_dir, n_cpus=1)[source]

Searches through output directory for log files and parses them for potential energies.

fast.analysis.pockets module

class fast.analysis.pockets.PocketWrap(pocket_reporter=None, grid_spacing=0.1, probe_radius=0.14, min_rank=4, min_cluster_size=0, n_cpus=1, build_full=True, atom_indices=None, **kwargs)[source]

Bases: base_analysis

Analysis wrapper for pocket analysis using ligsite.

Parameters
  • pocket_reporter (object, default = None,) – How to rank pocket volumes. A specific object that calls parse_pockets must be supplied. If None are specified, will use TopPockets, which reports on all pocket volumes.

  • grid_spacing (float, default = 0.1,) – The spacing for grid around the protein.

  • probe_radius (float, default = 0.14,) – The radius of the grid point to probe for pocket elements.

  • min_rank (int, default = 4,) – Minimum rank for defining a pocket element. Ranges from 1-7, 1 being very shallow and 7 being a fully enclosed pocket element.

  • min_cluster_size (int, default = 0,) – The minimum number of adjacent pocket elements to consider a true pocket. Trims pockets smaller than this size.

  • n_cpus (int,) – The number of cpus to use for pocket analysis.

  • build_full (bool,) – Flag to either analyze all structures or to continue previous analysis.

  • atom_indices (array-like, or string, default=None,) – The atom indices to use for calculating pocket volumes. Can be supplied as a path to a numpy file or a list of indices.

Variables
  • msm_dir (str,) – The MSM and adaptive sampling analysis directory.

  • output_folder (str,) – The directory within the msm_dir that contains minimizations.

  • output_name (str,) – The filename of the final rankings.

property analysis_folder
property base_output_name
property class_name
property config
run()[source]
class fast.analysis.pockets.ResiduePockets(atom_indices, distance_cutoff=1.0, n_cpus=1)[source]

Bases: object

Reports pocket volume around selected residues.

Parameters
  • atom_indices (array-like, shape=(n_atoms, ),) – The atom indices to search around.

  • distance_cutoff (float, default=1.0,) – The distance to search around atoms for pocket volumes.

  • n_cpus (int, default=1,) – The number of cpus to use for determining pocket volumes.

parse_pockets(pockets_dir)[source]

Searches through output directory for pdbs and pockets and parses them for pocket sizes around selected residues.

class fast.analysis.pockets.TopPockets(pocket_number=None, n_cpus=1)[source]

Bases: object

Reports pocket volume of a particular pocket.

Parameters

pocket_number (int, default=None,) – The pocket number to report volume. If None, will provide the total pocket volume.

parse_pockets(pockets_dir)[source]

Searches through output directory for pocket_size files and parses them for pocket sizes of a given pocket num.

fast.analysis.pockets.save_pocket_elements(pocket_func, centers, pdb_filenames, output_folder, n_procs)[source]

Function to calculate and save pocket elements / pocket info

fast.analysis.rmsd module

class fast.analysis.rmsd.RMSDWrap(base_struct, atom_indices=None, atom_indices_target=None)[source]

Bases: base_analysis

Analysis wrapper for calculating state rmsds

Parameters
  • base_struct (str or md.Trajectory,) – The base structure to compare for native contacts. This topology must match the structures to analyse. Can be provided as a pdb location or an md.Trajectory object.

  • atom_indices (str or array,) – The atom indices to use for computing RMSD. Can be provided as a data file to load or an array.

  • atom_indices_target (str or array,) – The atom indices to use for computing RMSD for the target structure.

Variables

output_name (str,) – The file containing rankings.

property analysis_folder
property base_output_name
property class_name
property config
run()[source]