Welcome to Benchling!

You're looking at a Protocol. Here are some things you can do with it:

Capture context, materials, and steps

  1. Document a list of materials.
  2. Add individual steps in the protocol.
  3. Add timers directly within your protocol.

Create protocol repositories for your lab

Insert tables with calculations

Attach protocols to Notebook entries

Benchling is actively tested against the latest versions of Chrome, Firefox, Safari, and Edge. **It doesn't look like your current browser is supported** - for more information, [click here](/browsers).
Monospace normal
Monospace bold
working...
0 of 0
Advanced Settings
OPLS3e refinement of ribosome + ligand structures (Maestro)
  • Protocol
Editing disabled on read-only protocol.

OPLS3e refinement of ribosome + ligand structures (Maestro)

Introduction

written and edited by Jenna Pellegrino 20200225, 20200326, 20200401

Materials

  • standard apo ribosome with Hydrogens (.pdb)
    • you will use this for all refinements. do NOT phenix.ready_set a ribosome pdb and blindly use it. phenix.ready_set has added extra hydrogens to my 6MZ that should not have been there. it's ok to start with a ready_set output, but seriously check it through, run refinement with it a bit (for just one structure), fix errors you find during phenix and coot refinement, and get yourself a ribosome that behaves. once you do, use it for everything. do not phenix.ready_set a pdb whose naming scheme you're happy with, because it will rename and readd hydrogens, which will then have weird names. and for 6MZ, it will add an extra hydrogen.
    • again, this standard should not have any issues with it; phenix refinement should run smoothly with it. the names of atoms should match whatever they are in your companion standard restraints file.
    • something i have done to standardize my ribosome is to rename all the atoms as follows: (1) * -> ' ; (2) O1P -> OP1 ; (3) O2P -> OP2 ; (4) H5'1 -> H5' ; (5) H5'2 -> H5''. most nonstandard RNA follow this. only PSU, for whatever reason, uses O1P and O2P. why? i've had many issues related to naming discrepancies related to these things, so i just renamed them all in the standard ribosome and made sure to do the same to the standard cif.
    • /data/jpellegrino/refinement/std.ribosome.for.refinement.pdb | this is chains I, J, and truncated K at Ser 118
    • /data/jpellegrino/refinement/std.ribosome.for.refinement.extra.chains.pdb | this is chains I, J, and K in full PLUS 4 other polypeptide chains that are nearish the PTC
  • standard restraints file (.cif) for nonstandard RNA residues
    • do NOT use what phenix.ready_set gives you. i've seen a naming discrepancy bw a phenix.ready_set output's pdb and related RNA cif. i think it was 6MZ. i'm for absolute certain phenix.ready_set adds extra hydrogens on 6MZ though.
    • justin helped me rewrite the cif files for nonstandard RNA cifs. they originally came from phenix.ready_set (except PSU, which phenix.ready_set will sometimes neglect to give you. there are cifs for all the nonstandard RNA residues on the pdb in the ligands section. i copied the restraints from there for PSU). what we added in were "RNA" lines, so phenix and coot knew they are not true ligands but RNA residues that should be bound to other RNA residues. (i was having a recurring issue, specifically with 6MZ, where refining it in coot caused the nonstandard RNA residue to break its bond with its neighboring RNA residue(s) -- sometimes it happened on one side, and sometimes it happened on both sides. also, the pdb validation during deposition does NOT use the same list of ideal bond angles, lengths, etc. as the cifs found from phenix.ready_set, the pdb itself, mogul.... it's got its own list of ideals. and there's nowhere where they are listed in a nice easy format. so take it with a grain of salt? our source was... the pdb itself, i think?)
    • /data/jpellegrino/refinement/std.all.good.ligands.cif
  • density map (.mrc)
    • ligand (.pdb) -OR- old rib+lig that is refined into the map already (.pdb)

      Procedure

      • fit std ribosome pdb into map and fit your ligand pdb into its density
      1. in chimera, open std rib and map > fit_in_map > save pdb (default save settings)
      • e.g. rib-F1037.fit_in_map.pdb
      1. in coot, open rib.fit_in_map, map, and either (1) the lig or (2) the older rib+lig pdb. if (1), open lig inside the lig density and do your best to center it in its density using the rotate/translate tool > save pdb. if (2), use LQS to superpose your rib onto the refined pdb (I use chain I as reference chain) > copy fragment on the ligand > merge ligand into rib.fit_in_map > save pdb
      • e.g. rib-lig-F1037.fit_in_map.pdb
      • prep lig in maestro
      1. in maestro, open rib-lig.fit_in_map.pdb > extract lig to new entry > run the preprocess section of protein prep wizard with defaults on lig
      1. select All in the Quick select panel > Build > Other Edits > Change Atom Properties > Property: PDB atom name > unique PDB atom names within residues > Apply
      • When you run protein prep wizard in maestro, epik will rename atoms. Because schrodinger software is not sensitive like phenix, it will rename hydrogens to having the same names (two H12 atoms, for example). However, the PDB standard is to have all unique names. If you don't do this step, there's a chance all your atom names are fine, but there's also a possibility you'll have an error while merging in your prepped ligand later. Better to do this step and avoid the potential issues later.
      • .
      • Note: Gydo told me to do protein prep wizard and then change the prep'd ligands atom naming properties. I believe this is the optimal way to do it. But, if this doesn't work for whatever reason and you still get some atom naming error... you might try changing the atom naming properties of the extracted ligand and then run protein prep wizard on that? I don't know if protein prep wizard will change atom names or comply to the atom naming property of the ligand you run it on. Just saying you could try this?
      1. export prepped ligand as .mae
      • e.g. lig-F1037.mae
      1. merge prepped ligand into rib
      1. export rib-lig as .pdb
      • e.g. rib-lig-F1037.rsr.in.pdb
      • if doing 2+ ligands...
      1. in maestro, merge the ligands together, as you would to merge lig into rib, and export as one .mae. if you've forgotten to do this and closed you maestro session already, you can import the mae files of the individual ligands and then merge those ligands together and export as one mae.
      • e.g. lig-F1037-and-VRS.mae
      • clean up pdb file
      1. delete MODEL, ENDMDL; it will error otherwise
      1. delete CRYST lines; it will error if the xyz in these lines are different from the box size of the map. don't worry though - phenix will rewrite this line into the pdb after refinement, so you aren't losing any information
      • write phenix cif
      1. have the Schrodinger path sourced: $ source /data/jpellegrino/scripts/set_environ.sh
      • echo
      • export SCHRODINGER=/opt/sbgrid/x86_64-linux/schrodinger/2019-4
      • echo "SCHRODINGER="$SCHRODINGER
      • export PHENIX=/opt/sbgrid/x86_64-linux/phenix/1.17-3644
      • echo "PHENIX="$PHENIX
      • export PHENIX_VERSION=3644
      • echo "PHENIX_VERSION="$PHENIX_VERSION
      • echo
      1. $SCHRODINGER/utilities/hetgrp_ffgen 2005 lig.mae -write_phenix_cif
      1. delete unnecessary files and rename the phenix cif for clarity
      • rm prime.cif
      • rm lig (or rm vrs - it's named after the ligand)
      • mv lig-phenix.cif lig-F1037-phenix.cif
      • run phenix.real_space_refine
      1. do NOT use refinement.run=minimization_global+adp. i've had my runs error on me because minimization_global doesn't always play nice with schrodinger.
      1. use the default rmsd. i've had my runs error on me for making them 10x tighter, which is something i used to do and worked fine on vanilla phenix w/o schrodinger. Gydo says when they fully refine structures with OPLS. they use rmsd of bonds 0.015 and rmsd of angle 2. so the phenix defaults are quite close to those. Gydo approves.
      • refinement.target_bonds_rmsd=0.01 refinement.target_angles_rmsd=1
      1. i like to use weight=1
      1. in your first round of refinement, turn the secondary structure restraints for protein and nucleic acid ON. in your second and further round(s) of refinement, turn these restraints OFF.
      1. e.g. for one ligand
      • [jpellegrino@florion 00-phenix-real-space-refine-H]$ phenix.real_space_refine ../rib-lig-F1037.rsr.in.H.pdb ../F1037_0-8289.mrc /data/jpellegrino/refinement/std.all.good.ligands.cif ../lig-F1037-phenix.cif resolution=2.47 use_schrodinger=True use_symmetry=False maestro_file=../lig-F1037.mae schrodinger.selection="(resid 3001 and chain I)" refinement.target_bonds_rmsd=0.01 refinement.target_angles_rmsd=1 secondary_structure.protein.enabled=True secondary_structure.nucleic_acid.enabled=True
      1. e.g. for two ligands
      • [jpellegrino@florion 01-phenix-real-space-refine-H]$ phenix.real_space_refine ../00-phenix-real-space-refine-H/rib-lig-F0224SB.rsr.in.H_real_space_refined.pdb ../F0224SB_0-8289.mrc /data/jpellegrino/refinement/std.all.good.ligands.cif ../lig-F0224-phenix.cif ../lig-VRS-phenix.cif resolution=2.67 use_schrodinger=True use_symmetry=False maestro_file=../lig-F0224-and-VRS.mae schrodinger.selection="(chain I and resid 3001 through 3101)" refinement.target_bonds_rmsd=0.01 refinement.target_angles_rmsd=1 weight=1 secondary_structure.protein.enabled=False secondary_structure.nucleic_acid.enabled=False

      Welcome to Benchling!

      Sign in to view data.

      Split Workspace