Gemmi C++ API
Loading...
Searching...
No Matches
Classes | Namespaces | Functions
polyheur.hpp File Reference

Heuristic methods for working with chains and polymers. Also includes a few well-defined functions, such as removal of waters. More...

#include <vector>
#include "model.hpp"
#include "util.hpp"

Go to the source code of this file.

Classes

struct  gemmi::AtomNameElement
 

Namespaces

namespace  gemmi
 

Functions

GEMMI_DLL PolymerType gemmi::check_polymer_type (const ConstResidueSpan &span, bool ignore_entity_type=false)
 
PolymerType gemmi::get_or_check_polymer_type (const Entity *ent, const ConstResidueSpan &polymer)
 
std::vector< AtomNameElementgemmi::get_mainchain_atoms (PolymerType ptype)
 
bool gemmi::in_peptide_bond_distance (const Atom *a1, const Atom *a2)
 distance-based check for peptide bond
 
bool gemmi::have_peptide_bond (const Residue &r1, const Residue &r2)
 
bool gemmi::in_nucleotide_bond_distance (const Atom *a1, const Atom *a2)
 distance-based check for phosphodiester bond between nucleotide
 
bool gemmi::have_nucleotide_bond (const Residue &r1, const Residue &r2)
 
bool gemmi::are_connected (const Residue &r1, const Residue &r2, PolymerType ptype)
 check C-N or O3'-P distance
 
bool gemmi::are_connected2 (const Residue &r1, const Residue &r2, PolymerType ptype)
 are_connected2() is less exact, but requires only CA (or P) atoms.
 
bool gemmi::are_connected3 (const Residue &r1, const Residue &r2, PolymerType ptype)
 are_connected3() = are_connected() + fallback to are_connected2()
 
GEMMI_DLL std::string gemmi::make_one_letter_sequence (const ConstResidueSpan &polymer)
 
GEMMI_DLL void gemmi::add_entity_types (Chain &chain, bool overwrite)
 Assigns entity_type=Polymer|NonPolymer|Water for each Residue (only for residues with entity_type==Unknown, unless overwrite=true).
 
GEMMI_DLL void gemmi::add_entity_types (Structure &st, bool overwrite)
 
GEMMI_DLL void gemmi::remove_entity_types (Structure &st)
 Assigns entity_type=Unknown for all residues.
 
GEMMI_DLL void gemmi::add_entity_ids (Structure &st, bool overwrite)
 Assigns Residue::entity_id based on Residue::subchain and Entity::subchains.
 
GEMMI_DLL void gemmi::assign_subchain_names (Chain &chain, int &nonpolymer_counter)
 The subchain field in the residue is where we store_atom_site.label_asym_id from mmCIF files.
 
GEMMI_DLL void gemmi::assign_subchains (Structure &st, bool force, bool fail_if_unknown=true)
 
GEMMI_DLL void gemmi::ensure_entities (Structure &st)
 
GEMMI_DLL void gemmi::deduplicate_entities (Structure &st)
 
void gemmi::setup_entities (Structure &st)
 
GEMMI_DLL char gemmi::recommended_het_flag (const Residue &res)
 Determine ATOM/HETATM record type, based on Residue::entity_type.
 
template<class T >
void gemmi::assign_het_flags (T &obj, char flag='R')
 R = recommended_het_flag(), other valid values are A, H and '\0'.
 
template<>
void gemmi::assign_het_flags (Residue &res, char flag)
 
template<class T >
void gemmi::remove_waters (T &obj)
 
template<>
void gemmi::remove_waters (Chain &ch)
 
template<class T >
void gemmi::remove_ligands_and_waters (T &obj)
 
template<>
void gemmi::remove_ligands_and_waters (Chain &ch)
 
GEMMI_DLL bool gemmi::trim_to_alanine (Residue &res)
 
void gemmi::trim_to_alanine (Chain &chain)
 
GEMMI_DLL void gemmi::shorten_ccd_codes (Structure &st)
 
GEMMI_DLL void gemmi::restore_full_ccd_codes (Structure &st)
 
GEMMI_DLL void gemmi::add_microhetero_to_sequences (Structure &st, bool overwrite=false)
 Modifies Entity::full_sequence. Uses only the first chain for each Entity.
 
GEMMI_DLL void gemmi::add_tls_group_ids (Structure &st)
 

Detailed Description

Heuristic methods for working with chains and polymers. Also includes a few well-defined functions, such as removal of waters.

Definition in file polyheur.hpp.