schrodinger.protein.captermini module

Module for capping uncapped terminal residues in a protein structure by adding NME or ACE caps as appropriate. Also has functionality for adding a C-terminal oxygen in places where this is missing.

Usage for capping: capped_st = cap_termini(input_st)

Usage for adding C-terminal oxygens: capped_st = add_terminal_oxygens(input_st)

Copyright Schrodinger, LLC. All rights reserved.

schrodinger.protein.captermini.count_atom_hbonds(st, atom)

Return the number of hydrogens bonds that the given atom is involved in.


Determines whether a fragment is able to be capped. Returns CAPN if specified residue can be N-capped, CAPC if C-capped; DONTCAP if it can’t be capped.

class schrodinger.protein.captermini.CapTermini(st: schrodinger.structure._structure.Structure, verbose: bool = False, frag_min_atoms: int = 150, sample_carboxylate_oxygens: bool = True)

Bases: object

__init__(st: schrodinger.structure._structure.Structure, verbose: bool = False, frag_min_atoms: int = 150, sample_carboxylate_oxygens: bool = True)

Add caps to uncapped terminal residues in the input structure ‘st’.

  • st – Input structure to cap N- and C-termini of

  • verbose – Generate more stdout

  • frag_min_atoms – Peptide fragments with less than this number of atoms will not be capped. Set to 0 to cap all fragments.

  • sample_carboxylate_oxygens – Score carboxylate oxygens based on the number of hydrogen bonds formed to determine NMA attachment point.


Cap both ends of each sequence in the given structure.


Returns residue strings for residues that were capped.


Returns residue strings for the added cap residues.

findOxygenToReplace(st: schrodinger.structure._structure.Structure, c_atom: schrodinger.structure._structure._StructureAtom) Optional[schrodinger.structure._structure._StructureAtom]

Check whether c_atom is bound to 2 terminal oxygens. If so, determine which one to replace with a cap, and return its atom index.

Return None if can’t find 2 terminal oxygens.

adjustDihedral(st, atom1, atom2, atom3, atom4)

Adjust dihedral between the original residue and the cap to 0 degrees.

resCapped(residue, capres)

Record this capping in the internal lists.

attachCap(residue, fromatom, replace_atom, fragname)

Attaches the specified fragment and returns the new Residue object


Cap the termini on the specified st Function interface for CapTermini class

schrodinger.protein.captermini.add_terminal_oxygens(st, frag_min_atoms=150)

Add OXT oxygen to the C-terminal of each poly-peptide chain. A hydrogen will first be added to the residue and converted to an oxygen. The bond length is not adjusted, and a minimization would be in order to fix this.

  • st (Structure) – Structure to add oxygens to

  • frag_min_atoms (int) – Minimal atoms required for fragment to be considered a poly-peptide chain


List of capped residues

Return type