Skip to content

Syndirella 🤝 HIPPO

Kate Fieseler edited this page Mar 15, 2024 · 8 revisions

Setup

  1. Fragalysis download of crystallographic data
  2. Create blank hippo DB
  3. Load aligned hits into DB
  4. Register an extra pose for Ax0310a (Matteo's relaxed) (store pose_ID somewhere global)

Base compounds

  1. Get inspiration 1 inspiration1 = animal.poses[...]

  2. Get inspiration 2 inspiration2 = animal.poses[...]

  3. Register the base compound

    1. tags = ['base']
    2. metadata = dict(warren_name=..., )
    3. base = animal.register_compound(smiles=smiles, tags=tags, metadata=metadata)
  4. Place the compound with Fragmenstein

  5. Register a pose

    1. tags = ['base', 'flat_placement']
    2. metadata = dict(ddG=..., mRMSD=...)
    3. pose = animal.register_pose(smiles=smiles, compound=base, tags=tags, metadata=metadata, inspirations=[inspiration1, inspiration2])

Elaborations & placement pipeline (parralel jobs)

  1. same as before but stop at num_atom_diff == 15

  2. Write a new CSV output with columns:

    • compound_ID (from hippo DB)
    • paths to minimised .mol (only if successful?)
    • reactant smiles
    • reaction names
    • ddG
    • RMSD
    • acceptable?
    • errors?
base reaction 1 ... ... ... reaction 2 ... ... ... ... reaction 3 ... ... ... ... placement
name reactant1 reactant2 product name reactant1 reactant2 product r_previous_product name reactant1 reactant2 product r_previous_product ddG RMSD acceptable errors
smiles Amidation smiles smiles smiles BOC deprotect smiles smiles smiles int BOC deprotect smiles smiles smiles int True/False "Something went wrong"

Load in poses (single thread / job)

  1. Parse through the new placement CSV's
  2. Register poses if ddG, RMSD, acceptable, errors columns are all OK
  3. For each registered pose add the following detail:
    • tags = ['base'] or ['elab']
    • metadata = dict(ddG=..., RMSD=...)

Clone this wiki locally