Rosetta
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
core::chemical::modifications::Reprotonate Class Reference

#include <Reprotonate.hh>

Inheritance diagram for core::chemical::modifications::Reprotonate:
Inheritance graph
[legend]

Public Member Functions

 Reprotonate ()
 
void apply (MutableResidueType &res) override
 Search the provided ResidueType for protons which should be added/removed in order to conform to the protonation state in neutral (pH 7-ish) aqueous solution. This is done heuristically, assuming that protons have already been added. The geometry of any existing hydrogen atoms will be adjusted, but not any heavy atoms. More...
 
core::chemical::VDVDMapping get_mapping () const override
 Get the vertex mapping that was used for the last apply() or get_additional_output() This is a mapping FROM the vds in the BEFORE MutableResidueType TO the vds in the AFTER MutableResidueType. The base class implementation defaults to an identity mapping. More...
 
- Public Member Functions inherited from core::chemical::modifications::ChemistryBase
 ChemistryBase (std::string const &name)
 
std::string name () const
 Return the name of this Chemistry object. More...
 
virtual bool has_additional_output () const
 Are there alternate ResidueTypes which are availible from the last time we called apply? (That is, will get_addtional_output() return non-null?) More...
 
virtual core::chemical::MutableResidueTypeOP get_additional_output ()
 Get additional generated ResidueTypes, if any. This allows for 1-to-many Chemistries. More...
 
ChemistryStatus get_last_status () const
 What was the status of the last call to apply()/get_additional_output() More...
 
void set_last_status (ChemistryStatus setting)
 Set the status of the chemistry object. More...
 

Static Public Member Functions

static std::string class_name ()
 

Private Member Functions

VD find_electron_sink (MutableResidueType const &restype, VD neighbor) const
 Find a doubly-bonded oxygen or sulfur attached to neighbor. More...
 
bool is_conjugatable (MutableResidueType const &restype, VD atom) const
 Is the provided able to participate in conjugation? More...
 
core::Size remove_hydrogens (MutableResidueType &restype, VD atom)
 Remove hydrogens from specified atom. Returns the number of hydrogens removed. More...
 

Private Attributes

core::chemical::VDVDMapping mapping_
 

Constructor & Destructor Documentation

◆ Reprotonate()

core::chemical::modifications::Reprotonate::Reprotonate ( )
inline

Member Function Documentation

◆ apply()

void core::chemical::modifications::Reprotonate::apply ( MutableResidueType res)
overridevirtual

Search the provided ResidueType for protons which should be added/removed in order to conform to the protonation state in neutral (pH 7-ish) aqueous solution. This is done heuristically, assuming that protons have already been added. The geometry of any existing hydrogen atoms will be adjusted, but not any heavy atoms.

The current targets are: Deprotonation:

  • Carboxylates
  • Thiocarboxylates ( C(=O)-SH as well as C(=S)-OH, if existant)
  • Sulfates/Phosphates/Nitrates/etc (as well as thio equivalents)
  • NOT Phenols

Protonation

  • (aliphatic) Amines
  • NOT Amides, anilines, or conjugated amines

Protonation/deprotonation will not happen on atoms with existing formal charges. The appropriate formal charge will be added to the reprotonated atom.

Implements core::chemical::modifications::ChemistryBase.

References core::chemical::modifications::add_hydrogens_to_atom(), core::chemical::gasteiger::assign_gasteiger_atom_types(), core::chemical::MutableResidueType::assign_internal_coordinates(), core::chemical::MutableResidueType::atom(), core::chemical::MutableResidueType::atom_iterators(), core::chemical::MutableResidueType::atom_name(), core::chemical::MutableResidueType::autodetermine_chi_bonds(), core::chemical::MutableResidueType::bond(), core::chemical::Atom::element(), core::chemical::find_bonds_in_rings(), find_electron_sink(), core::chemical::Atom::formal_charge(), core::chemical::MutableResidueType::graph(), core::chemical::element::H, is_conjugatable(), mapping_, core::chemical::element::N, core::chemical::ResidueTypeBase::name(), core::chemical::MutableResidueType::nbonds(), core::chemical::MutableResidueType::null_vertex, core::chemical::element::O, core::chemical::Bond::order(), remove_hydrogens(), core::chemical::rosetta_recharge_fullatom(), core::chemical::rosetta_retype_fullatom(), core::chemical::element::S, core::chemical::modifications::ChemistryBase::set_last_status(), core::chemical::SingleBondOrder, core::chemical::modifications::SUCCESS, and core::chemical::modifications::TR().

◆ class_name()

std::string core::chemical::modifications::Reprotonate::class_name ( )
static

◆ find_electron_sink()

VD core::chemical::modifications::Reprotonate::find_electron_sink ( MutableResidueType const &  restype,
VD  neighbor 
) const
private

◆ get_mapping()

core::chemical::VDVDMapping core::chemical::modifications::Reprotonate::get_mapping ( ) const
inlineoverridevirtual

Get the vertex mapping that was used for the last apply() or get_additional_output() This is a mapping FROM the vds in the BEFORE MutableResidueType TO the vds in the AFTER MutableResidueType. The base class implementation defaults to an identity mapping.

Get the vertex mapping that was used for the last apply() The base class implementation defaults to an identity mapping.

Reimplemented from core::chemical::modifications::ChemistryBase.

References mapping_.

◆ is_conjugatable()

bool core::chemical::modifications::Reprotonate::is_conjugatable ( MutableResidueType const &  restype,
VD  atom 
) const
private

◆ remove_hydrogens()

core::Size core::chemical::modifications::Reprotonate::remove_hydrogens ( MutableResidueType restype,
VD  atom 
)
private

Member Data Documentation

◆ mapping_

core::chemical::VDVDMapping core::chemical::modifications::Reprotonate::mapping_
private

The documentation for this class was generated from the following files: