Getting started with HIPPO

To create a HIPPO database or interface with an existing one, create a HIPPO ‘animal’ object:

from hippo import HIPPO
animal = HIPPO(project_name, "path/to/db.sqlite")

Loading crystallographic hits from Fragalysis

1. Go Fragalysis and download a dataset. For public datasets you can use fragalysis.download_target()

  1. Load the crystallographic data

animal.add_hits(
        target_name='A71EV2A',
        metadata_csv='/path/to/metadata.csv',
        aligned_directory='/path/to/aligned_files',
)

Attention

N.B. all poses loaded into a HIPPO database only have an absolute path stored to the original file - they are not copied! It is your responsibility to ensure that their original files remain accessible.

Graphing

Several convenient graphing methods are available. Try:

animal.plot_tag_statistics()
animal.plot_pose_property('CanonSites')

Interaction fingerprinting

Interactions fingerprinted as follows:

import mrich

for pose in mrich.track(animal.poses):
        pose.calculate_interactions()

N.B. mrich.track just gives you a nice progress bar

Interaction fingerprints can be visualised with a ‘punchcard’, per-residue histogram, or viewed individually for a Pose.

Interaction Punchcard

animal.plot_interaction_punchcard(poses=animal.poses(tag='hits'), subtitle='hits', group='pose_name')

See also plotting.plot_interaction_punchcard().

Interactions by residue

animal.plot_residue_interactions(poses=animal.poses(tag='hits'), residue_number=123, chain='A', subtitle='hits')

See also plotting.plot_residue_interactions().

Interactions of a single Pose

This will create an HTML file you can open in your browser:

plot_pose_interactions
import molparse as mp
pose = animal.poses[1]
fig = animal.plot_pose_interactions(pose=pose)
mp.write(f'{pose}_interactions.html', fig)

This method of writing to an HTML file works for all the above figures.

See also plotting.plot_pose_interactions().