Package schrodinger :: Package application :: Package prime :: Module primefix
[hide private]
[frames] | no frames]

Module primefix

Functions and classes for Prime molecule preparation.

It is deprecated as starting with Suite2008, Prime no longer needs structure "pre-fixing".

The wrapper for this module is in: $SCHRODINGER/mmshare-v*/python/scripts/primefix.py

Copyright Schrodinger, LLC. All rights reserved.

Classes [hide private]
  FixForPrime
Wrapper class to house the combination of methods for fixing a structure for Prime.
Functions [hide private]
 
is_metal(atom)
Returns True if the supplied atomic_number is for a metal.
 
fix_formal_charge(atom)
Ev:58049 For the specified atom, counts the number of bonds to it, and if that number doesn't not match with the formal charge for the atom, the formal charge will be adjusted.
 
fix_for_prime(st)
Preferred way to use the FixForPrime class.
Variables [hide private]
  logger = log.get_output_logger("schrodinger.application.prime....
  excluded_hets = ['NAD', 'NAG', 'SO4']
  alkali_metals = [3, 11, 19, 37, 55, 87]
  alkaline_earth_metals = [4, 12, 20, 38, 56, 88]
  lanthanide_series = [21, 39, 57, 58, 59, 60, 61, 62, 63, 64, 6...
  actinide_series = [89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,...
  transition_metals = [22, 23, 24, 25, 26, 27, 28, 29, 30, 40, 4...
  metalloids = [32, 33, 51, 52, 84, 85]
  other_metals = [13, 31, 49, 50, 81, 82, 83]
  all_metals = [3, 11, 19, 37, 55, 87, 4, 12, 20, 38, 56, 88, 21...
  metal_pdbnames = {11: ' NA ', 12: ' MG ', 19: ' K ', 20: ' CA...
  metal_charges = {11: [1], 12: [2], 19: [1], 20: [2], 25: [2, 3...
  metal_default_charges = {11: 1, 12: 2, 19: 1, 20: 2, 25: 2, 26...
  __package__ = 'schrodinger.application.prime'
Function Details [hide private]

fix_formal_charge(atom)

 

Ev:58049 For the specified atom, counts the number of bonds to it, and if that number doesn't not match with the formal charge for the atom, the formal charge will be adjusted. Assumes that hydrogens have been added already

fix_for_prime(st)

 

Preferred way to use the FixForPrime class.

Fixes structure.Structure for Prime calculations. This is the preferred API for scripts implementing primefix.py.

  1. Assign a unique, single residue name, residue number, and chain name to all ligand residues. Make sure that new name doesn't conflict with amino acid resname. Back up the old residue name as s_ppw_resname_bu, s_ppw_resnum_bu
  2. Left-justify the 3-character residue name.
  3. Set pdbname to all upper case.
  4. Delete all bonds to metals and assign formal charges to the metal and previously attached atoms.
  5. Water molecules should have a residue name of "HOH " and pdb atom names " O ", "1H " and "2H ". Currently, residues TIP, TIP3, TIP4, SPC, and HOH and DOD are treated.
  6. FeS clusters are fixed with the appropriate bonds anf formal charges.
  7. Terminal caps are fixed (rename "NME " to "NMA ", pdbname " C " of NMA to " CA ", and pdbname " CA " of ACE to " CH3").
  8. Atoms from the same molecule are placed together in the connection table.

NOTE: Prime can still fail if a residue is not in order of connectivity. If this is the case in your structure, it should be exported as a PDB file and then reimported as a Maestro file before running this script.


Variables Details [hide private]

logger

Value:
log.get_output_logger("schrodinger.application.prime.primefix")

lanthanide_series

Value:
[21, 39, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71]

actinide_series

Value:
[89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103]

transition_metals

Value:
[22,
 23,
 24,
 25,
 26,
 27,
 28,
 29,
...

all_metals

Value:
[3,
 11,
 19,
 37,
 55,
 87,
 4,
 12,
...

metal_pdbnames

Value:
{11: ' NA ',
 12: ' MG ',
 19: '  K ',
 20: ' CA ',
 25: ' MN ',
 26: ' FE ',
 27: ' CO ',
 28: ' NI ',
...

metal_charges

Value:
{11: [1],
 12: [2],
 19: [1],
 20: [2],
 25: [2, 3, 4, 5, 6, 7],
 26: [2, 3],
 27: [2, 3],
 28: [2, 3],
...

metal_default_charges

Value:
{11: 1,
 12: 2,
 19: 1,
 20: 2,
 25: 2,
 26: 2,
 27: 2,
 28: 2,
...