Web Analytics Made Easy - Statcounter
Skip to content

Class SBMStructuralModelNodeResidue#

ClassList > SBMStructuralModelNodeResidue

This class describes a residue in a structural model. More...

  • #include <SBMStructuralModelNodeResidue.hpp>

Inherits the following classes: SBMStructuralModelNodeGroup

Public Types#

Type Name
enum HydrophobicityScale
The available hydrophobicity scale types.
enum ResidueType
The available residue types.
enum SecondaryStructureType
The available secondary structure types.
enum SideChainCharge
The available side chain charge types.
enum SideChainPolarity
The available side chain polarity types.

Public Types inherited from SBDDataGraphNode#

See SBDDataGraphNode

Type Name
enum RenderingPass
The rendering pass.
enum Type
The type of the data graph node.

Public Functions#

Type Name
SBMStructuralModelNodeResidue ()
Builds a residue.
SBMStructuralModelNodeResidue (const std::string & n)
Builds a residue with the given name.
SB_NODE_GETTER_0 (SB_SBMSTRUCTURALMODEL_EXPORT, SBMStructuralModelNodeResidue::ResidueType, GetResidueType)
SB_NODE_GETTER_0 (SB_SBMSTRUCTURALMODEL_EXPORT, std::string, GetResidueTypeString)
SB_NODE_GETTER_0 (SB_SBMSTRUCTURALMODEL_EXPORT, SBMStructuralModelNodeResidue::SecondaryStructureType, GetSecondaryStructureType)
SB_NODE_GETTER_0 (SB_SBMSTRUCTURALMODEL_EXPORT, double, GetHydrophobicity)
SB_NODE_GETTER_0 (SB_SBMSTRUCTURALMODEL_EXPORT, SBMStructuralModelNodeResidue::HydrophobicityScale, GetHydrophobicityScale)
SB_NODE_GETTER_0 (SB_SBMSTRUCTURALMODEL_EXPORT, SBMStructuralModelNodeResidue::SideChainCharge, GetSideChainCharge)
SB_NODE_GETTER_0 (SB_SBMSTRUCTURALMODEL_EXPORT, std::string, GetSideChainChargeString)
SB_NODE_GETTER_0 (SB_SBMSTRUCTURALMODEL_EXPORT, SBMStructuralModelNodeResidue::SideChainPolarity, GetSideChainPolarity)
SB_NODE_GETTER_0 (SB_SBMSTRUCTURALMODEL_EXPORT, std::string, GetSideChainPolarityString)
SB_NODE_GETTER_0 (SB_SBMSTRUCTURALMODEL_EXPORT, double, GetDissociationConstant1)
SB_NODE_GETTER_0 (SB_SBMSTRUCTURALMODEL_EXPORT, double, GetDissociationConstant2)
SB_NODE_GETTER_0 (SB_SBMSTRUCTURALMODEL_EXPORT, double, GetIsoelectricPointPH)
SB_NODE_GETTER_0 (SB_SBMSTRUCTURALMODEL_EXPORT, int, GetResidueSequenceNumber)
SB_NODE_PREDICATE_0 (SB_SBMSTRUCTURALMODEL_EXPORT, IsAminoAcid)
SB_NODE_PREDICATE_0 (SB_SBMSTRUCTURALMODEL_EXPORT, IsNucleicAcid)
SB_NODE_PREDICATE_0 (SB_SBMSTRUCTURALMODEL_EXPORT, IsTerminal)
SB_NODE_PREDICATE_0 (SB_SBMSTRUCTURALMODEL_EXPORT, HasStandardResidueName)
SB_NODE_PREDICATE_0 (SB_SBMSTRUCTURALMODEL_EXPORT, HasCompleteAminoAcidBackbone)
SB_NODE_PREDICATE_0 (SB_SBMSTRUCTURALMODEL_EXPORT, HasHydrophobicity)
SB_NODE_PREDICATE_0 (SB_SBMSTRUCTURALMODEL_EXPORT, HasSideChainCharge)
SB_NODE_PREDICATE_0 (SB_SBMSTRUCTURALMODEL_EXPORT, HasSideChainPolarity)
SB_NODE_PREDICATE_0 (SB_SBMSTRUCTURALMODEL_EXPORT, HasDissociationConstant)
SB_NODE_PREDICATE_0 (SB_SBMSTRUCTURALMODEL_EXPORT, HasResidueSequenceNumber)
virtual bool addChild (SBNode * node, SBNode * nextNode=nullptr) override
Adds a child to the node.
int addHydrogensByResidueType ()
Adds hydrogen atoms to the residue based on its type.
virtual bool canAddChild (const SBNode * node, const SBNode * nextNode=nullptr) override const
Returns whether this node can add node as a child.
virtual bool canAddChildType (SBNode::Type nodeType) override const
Returns whether this node can add a node with type nodeType as a child.
virtual bool canHaveDescendantType (SBNode::Type nodeType) override const
Returns whether this node can have a node with type nodeType as a descendant.
virtual SBMStructuralModelNodeResidue * clone () override
Returns a copy of the node and its descendants.
SBQuantity::dimensionless computeAminoAcidChi1Angle ()
Computes the chi1 angle (in degrees) for the amino acid residue's side chain.
SBQuantity::dimensionless computeAminoAcidChi2Angle ()
Computes the chi2 angle (in degrees) for the amino acid residue's side chain.
SBQuantity::dimensionless computeAminoAcidChi3Angle ()
Computes the chi3 angle (in degrees) for the amino acid residue's side chain.
SBQuantity::dimensionless computeAminoAcidChi4Angle ()
Computes the chi4 angle (in degrees) for the amino acid residue's side chain.
SBQuantity::dimensionless computeAminoAcidChi5Angle ()
Computes the chi5 angle (in degrees) for the amino acid residue's side chain.
SBQuantity::dimensionless computeAminoAcidPhiAngle ()
Computes the phi dihedral angle (in degrees) for the amino acid's backbone.
SBQuantity::dimensionless computeAminoAcidPsiAngle ()
Computes the psi dihedral angle (in degrees) for the amino acid's backbone.
SBQuantity::dimensionless computeNucleicAcidAlphaAngle ()
Computes the alpha (O3'(i-1)-P-O5'-C5') dihedral angle (in degrees) for the nucleic acid's backbone.
SBQuantity::dimensionless computeNucleicAcidBetaAngle ()
Computes the beta (P-O5'-C5'-C4') dihedral angle (in degrees) for the nucleic acid's backbone.
SBQuantity::dimensionless computeNucleicAcidChiAngle ()
Computes the chi dihedral angle (in degrees) for the nucleic acid's backbone.
SBQuantity::dimensionless computeNucleicAcidDeltaAngle ()
Computes the delta (C5'-C4'-C3'-O3') dihedral angle (in degrees) for the nucleic acid's backbone.
SBQuantity::dimensionless computeNucleicAcidEpsilonAngle ()
Computes the epsilon (C4'-C3'-O3'-P(i+1)) dihedral angle (in degrees) for the nucleic acid's backbone.
SBQuantity::dimensionless computeNucleicAcidGammaAngle ()
Computes the gamma (O5'-C5'-C4'-C3') dihedral angle (in degrees) for the nucleic acid's backbone.
SBQuantity::dimensionless computeNucleicAcidZetaAngle ()
Computes the zeta (C3'-O3'-P(i+1)-O5'(i+1)) dihedral angle (in degrees) for the nucleic acid's backbone.
int createCovalentBondsByResidueType ()
Sets the order of covalent bonds for the atoms belonging to the residue according to the residue type, regardless of inter-atomic distances.
bool fixTerminal (bool addMissingTerminalAtoms=true)
Fixes positions of terminal atoms in a terminal amino acid residue; if addMissingTerminalAtoms istrue then it will try to add missing terminal atoms.
std::string getAminoAcidOneLetterCode () const
Returns one letter code of the amino acid residue.
SBMStructuralModelNodeBackbone * getBackbone () const
Returns the residue's backbone if it has one, else returns nullptr.
double getDissociationConstant1 () const
Returns the pKa1 value (the negative of the logarithm of the dissociation constant for the carboxyl functional group, -COOH) for this residue.
double getDissociationConstant2 () const
Returns the pKa2 value (the negative of the logarithm of the dissociation constant for the amino functional group, -NH3) for this residue.
double getHydrophobicity () const
Returns the residue's hydrophobicity in the current hydrophobicity scale.
double getHydrophobicity (const HydrophobicityScale hydrophobicityScale) const
Returns the residue's hydrophobicity in the given hydrophobicity scale hydrophobicityScale .
HydrophobicityScale getHydrophobicityScale () const
Returns the current scale of the residue's hydrophobicity.
int getHydrophobicityScaleCount () const
Returns the number of hydrophobicity scales.
int getHydrophobicityScaleCurrentIndex () const
Returns the current scale's index in the list of hydrophobicity scales.
std::string getHydrophobicityScaleItemText (const int index) const
Returns the hydrophobicity scale index as a string.
std::string getHydrophobicityScaleString () const
Returns the current hydrophobicity scale as a string.
double getIsoelectricPointPH () const
Returns the pI value (the pH at the isoelectric point) for this residue.
SBMStructuralModelNodeResidue * getNextAminoAcid () const
Returns the next amino acid if any, else returns nullptr.
SBMStructuralModelNodeResidue * getNextNucleicAcid () const
Returns the next nucleic acid if any, else returns nullptr.
SBMStructuralModelNodeResidue * getNextResidue () const
Returns the next residue if any, else returns nullptr.
SBMStructuralModelNodeResidue * getPreviousAminoAcid () const
Returns the previous amino acid if any, else returns nullptr.
SBMStructuralModelNodeResidue * getPreviousNucleicAcid () const
Returns the previous nucleic acid if any, else returns nullptr.
SBMStructuralModelNodeResidue * getPreviousResidue () const
Returns the previous residue if any, else returns nullptr.
ResidueType getResidueType () const
Returns the residue's type.
std::string getResidueTypeFullName () const
Returns the full name of the residue's type.
std::string getResidueTypeString () const
Returns the string representation of the residue's type.
SecondaryStructureType getSecondaryStructureType () const
Returns the most probable secondary structure based on bonds parameters and residue geometry.
std::string getSecondaryStructureTypeString () const
Returns the secondary structure type as a string.
SBMStructuralModelNodeSideChain * getSideChain () const
Returns the residue's side chain if it has one, else returns nullptr.
SideChainCharge getSideChainCharge () const
Returns the residue's side chain charge.
std::string getSideChainChargeString () const
Returns the residue's side chain charge as a string.
SideChainPolarity getSideChainPolarity () const
Returns the residue's side chain polarity.
std::string getSideChainPolarityString () const
Returns the residue's side chain polarity as a string.
virtual Type getType () override const
Returns the node type (returns SBNode::Residue )
bool hasAminoAcidChi1Angle () const
Returns true if it is an amino acid and has chi1 angle.
bool hasAminoAcidChi2Angle () const
Returns true if it is an amino acid and has chi2 angle.
bool hasAminoAcidChi3Angle () const
Returns true if it is an amino acid and has chi3 angle.
bool hasAminoAcidChi4Angle () const
Returns true if it is an amino acid and has chi4 angle.
bool hasAminoAcidChi5Angle () const
Returns true if it is an amino acid and has chi5 angle.
bool hasCompleteAminoAcidBackbone () const
Returns true if and only if the residue has a complete amino-acid backbone.
bool hasDissociationConstant () const
Returns true if the dissociation constants (pKa1, pKa2) and isoelectric point are defined for this residue.
bool hasHydrophobicity () const
Returns true if the residue's hydrophobicity is defined.
bool hasSideChainCharge () const
Returns true if the residue's side chain charge is defined.
bool hasSideChainPolarity () const
Returns true if the residue's side chain polarity is defined.
bool hasStandardResidueName () const
Returns true if and only if the residue name corresponds to one of the standard PDB residue names.
bool isAminoAcid () const
Returns true if and only if the residue is an amino acid.
bool isNucleicAcid () const
Returns true if and only if the residue is a nucleic acid.
virtual bool isSerializable () override const
Returns true __
bool isTerminal () const
Returns true if and only if the residue is terminal.
void moveBackboneAtomsFromSideChains ()
Moves atoms that should be in the backbone from the side chain: hydrogens connected to backbone's heavy atoms and terminal amino acid backbone oxygens, if they were placed in side chains.
bool orientAminoAcidSideChain (const SBQuantity::degree & chi1, const SBQuantity::degree & chi2=SBQuantity::degree(0.0), const SBQuantity::degree & chi3=SBQuantity::degree(0.0), const SBQuantity::degree & chi4=SBQuantity::degree(0.0), const SBQuantity::degree & chi5=SBQuantity::degree(0.0))
Rotates the amino acid's side chain to orient it according to given dihedral angles chi1 ,chi2 ,chi3 ,chi4 ,chi5 . Returns true if at leastchi1 rotation was performed.
virtual bool removeChild (SBNode * node) override
Removes a child from the node.
virtual void serialize (SBCSerializer * serializer, const SBNodeIndexer & nodeIndexer, const SBVersionNumber & sdkVersionNumber=SB_SDK_VERSION_NUMBER, const SBVersionNumber & classVersionNumber=SBVersionNumber(1, 0, 0)) override const
Serializes the node.
void setHydrophobicityScale (const HydrophobicityScale hydrophobicityScale)
Sets the current hydrophobicity scale to hydrophobicityScale .
void setHydrophobicityScaleCurrentIndex (const int index)
Sets the current hydrophobicity scale to the hydrophobicity scale from the list.
virtual void setName (const std::string & name) override
Sets the name of the residue, and updates accordingly names for its backbone and side chain.
void setResidueType (ResidueType residueType)
Sets the residue's type to residueType .
void setResidueType (const std::string & s)
Sets the residue's type based on the string s .
void setSecondaryStructureType (SecondaryStructureType type)
Sets the most probable secondary structure based on bonds parameters and residue geometry.
virtual void unserialize (SBCSerializer * serializer, const SBNodeIndexer & nodeIndexer, const SBVersionNumber & sdkVersionNumber=SB_SDK_VERSION_NUMBER, const SBVersionNumber & classVersionNumber=SBVersionNumber(1, 0, 0)) override
Unserializes the node.
virtual ~SBMStructuralModelNodeResidue ()
Destructor.

Public Functions inherited from SBMStructuralModelNodeGroup#

See SBMStructuralModelNodeGroup

Type Name
SBMStructuralModelNodeGroup ()
Builds a structural group.
SBMStructuralModelNodeGroup (const std::string & n)
Builds a structural group with the given name.
SB_NODE_GETTER_0 (SB_SBMSTRUCTURALMODEL_EXPORT, std::string, GetComment)
SB_NODE_GETTER_0 (SB_SBMSTRUCTURALMODEL_EXPORT, std::string, GetStatusBit)
SB_NODE_GETTER_0 (SB_SBMSTRUCTURALMODEL_EXPORT, int, GetStructuralID)
SB_NODE_PREDICATE_0 (SB_SBMSTRUCTURALMODEL_EXPORT, HasComment)
SB_NODE_PREDICATE_0 (SB_SBMSTRUCTURALMODEL_EXPORT, HasStatusBit)
SB_NODE_PREDICATE_0 (SB_SBMSTRUCTURALMODEL_EXPORT, HasStructuralID)
virtual bool addChild (SBNode * node, SBNode * nextNode=nullptr) override
Adds a child to the node.
virtual bool canAddChild (const SBNode * node, const SBNode * nextNode=nullptr) override const
Returns whether this node can add node as a child.
virtual bool canAddChildType (SBNode::Type nodeType) override const
Returns whether this node can add a node with type nodeType as a child.
virtual bool canHaveDescendantType (SBNode::Type nodeType) override const
Returns whether this node can have a node with type nodeType as a descendant.
void clearComment ()
Clears the comment.
void clearStatusBit ()
Clears the status bit.
void clearStructuralID ()
Clears the structural group's ID.
virtual SBMStructuralModelNodeGroup * clone () override
Returns a copy of the node and its descendants.
virtual void forEachNodeDepthFirst (void(*)(SBDDataGraphNode *node) action) override
Performs the action on this node and then its children in the depth-first way.
virtual void forEachNodeDepthFirst (SBCClass * object, void(SBCClass::*)(SBDDataGraphNode *node) action) override
Performs the object 'saction on this node and then its children in the depth-first way.
virtual SBPointerList< SBMStructuralModelNode > const * getChildren () override const
Returns the list of child nodes.
std::string const & getComment () const
Returns the comment.
virtual SBQuantity::mass getMolecularWeight () override
Returns the molecular weight.
std::string getNameWithoutID () const
Returns the name of the structural group without the trailing ID separated by a whitespace.
virtual void getNodes (SBNodeIndexer & nodeIndexer, SBNode::Type nodeType, bool selectedNodesOnly=false, const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) override const
Collects nodes into nodeIndexer , based on anodeType , a selection status and avisitPredicate , with or without dependencies.
virtual void getNodes (SBNodeIndexer & nodeIndexer, const SBNodePredicate & selectionPredicate=SBDDataGraphNode::All(), const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) override const
Collects nodes into nodeIndexer , based on aselectionPredicate and avisitPredicate , with or without dependencies.
virtual unsigned int getNumberOfAtoms () override
Returns the number of atoms.
virtual unsigned int getNumberOfCarbons () override
Returns the number of carbons.
virtual unsigned int getNumberOfChains () override
Returns the number of chains.
virtual unsigned int getNumberOfCoarseGrainedAtoms () override
Returns the number of coarse-grained atoms.
virtual unsigned int getNumberOfHydrogens () override
Returns the number of hydrogens.
virtual unsigned int getNumberOfMolecules () override
Returns the number of molecules.
virtual unsigned int getNumberOfNitrogens () override
Returns the number of nitrogens.
virtual unsigned int getNumberOfOtherAtoms () override
Returns the number of other atoms.
virtual unsigned int getNumberOfOxygens () override
Returns the number of oxygens.
virtual unsigned int getNumberOfResidues () override
Returns the number of residues.
virtual unsigned int getNumberOfSegments () override
Returns the number of segments.
virtual unsigned int getNumberOfStructuralGroups () override
Returns the number of structural groups.
virtual unsigned int getNumberOfSulfurs () override
Returns the number of sulfurs.
std::string const & getStatusBit () const
Returns the status bit.
int const & getStructuralID () const
Returns the structural group's ID.
virtual int getSumOfFormalCharges () override
Returns the sum of formal charges.
virtual float getSumOfPartialCharges () override
Returns the sum of partial charges.
virtual SBDDataGraphNode::Type getType () override const
Returns the node type ( SBNode::StructuralGroup )
bool hasComment () const
Returns true when the comment is set.
virtual bool hasNode (SBNode::Type nodeType, bool selectedNodesOnly=false, const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) override const
Checks for nodes based on a nodeType , a selection status and avisitPredicate , with or without dependencies.
virtual bool hasNode (const SBNodePredicate & selectionPredicate=SBDDataGraphNode::All(), const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) override const
Checks for nodes based on a selectionPredicate and avisitPredicate , with or without dependencies.
bool hasStatusBit () const
Returns true when the status bit is set.
bool hasStructuralID () const
Returns true when the structural group's ID is set.
bool isMonatomicIon ()
Returns true if the structural group is a monatomic ion.
virtual bool isSerializable () override const
Returns true __
bool isWater ()
Returns true if the structural group is a water molecule.
virtual void onBaseEvent (SBEvent * event)
Handles base events.
virtual void print (unsigned int offset=0) override const
Prints debugging information.
virtual bool removeChild (SBNode * node) override
Removes a child from the node.
virtual void serialize (SBCSerializer * serializer, const SBNodeIndexer & nodeIndexer, const SBVersionNumber & sdkVersionNumber=SB_SDK_VERSION_NUMBER, const SBVersionNumber & classVersionNumber=SBVersionNumber(1, 0, 0)) override const
Serializes the node.
void setComment (const std::string & comment)
Sets the comment.
virtual void setName (const std::string & name) override
Sets the name of the structural group.
void setStatusBit (const std::string & statusBit)
Sets the status bit.
void setStructuralID (const int & groupID)
Sets the structural group's ID.
virtual void unserialize (SBCSerializer * serializer, const SBNodeIndexer & nodeIndexer, const SBVersionNumber & sdkVersionNumber=SB_SDK_VERSION_NUMBER, const SBVersionNumber & classVersionNumber=SBVersionNumber(1, 0, 0)) override
Unserializes the node.
virtual ~SBMStructuralModelNodeGroup ()
Destructor.

Public Functions inherited from SBMStructuralModelNode#

See SBMStructuralModelNode

Type Name
virtual SBMStructuralModelNode * clone () override
Returns a copy of the node and its descendants.
void connectStructuralSignalToSlot (SBCReferenceTarget * referenceTarget, void(SBCReferenceTarget::*)(SBStructuralEvent *) functionPointer, SBStructuralEvent::Type eventType=SBStructuralEvent::Type::Any, SBCReferenceTarget * nextReferenceTarget=nullptr, void(SBCReferenceTarget::*)(SBStructuralEvent *) nextFunctionPointer=nullptr)
Connects the structural signal to a slot.
void disconnectStructuralSignalFromSlot (SBCReferenceTarget * referenceTarget, void(SBCReferenceTarget::*)(SBStructuralEvent *) functionPointer, SBStructuralEvent::Type eventType=SBStructuralEvent::Type::Any)
Disconnects the structural signal from a slot.
virtual void forEachNodeDepthFirst (void(*)(SBDDataGraphNode *node) action) override
Performs the action on this node.
virtual void forEachNodeDepthFirst (SBCClass * object, void(SBCClass::*)(SBDDataGraphNode *node) action) override
Performs the object 'saction on this node.
void forEachStructuralNodeBreadthFirst (void(*)(SBMStructuralModelNode *node) action)
Performs the action on this node and all its structural node children in the breadth-first way.
void forEachStructuralNodeBreadthFirst (SBCClass * object, void(SBCClass::*)(SBMStructuralModelNode *node) action)
Performs the object 'saction on this node and all its structural node children in the breadth-first way.
void forEachStructuralNodeDepthFirst (void(*)(SBMStructuralModelNode *node) action)
Performs the action on this node and all its structural node children in the depth-first way.
void forEachStructuralNodeDepthFirst (SBCClass * object, void(SBCClass::*)(SBMStructuralModelNode *node) action)
Performs the object 'saction on this node and all its structural node children in the depth-first way.
void getAllStructuralNodesBreadthFirstBottomUp (std::vector< SBMStructuralModelNode * > & nodeIndexer)
Populates nodeIndexer with all structural nodes (the node itself and all its structural node children), breadth-first, bottom-up.
void getAllStructuralNodesBreadthFirstTopDown (std::vector< SBMStructuralModelNode * > & nodeIndexer)
Populates nodeIndexer with all structural nodes (the node itself and all its structural node children), breadth-first, top-down.
void getAllStructuralNodesDepthFirst (std::vector< SBMStructuralModelNode * > & nodeIndexer)
Populates nodeIndexer with all structural nodes (the node itself and all its structural node children), depth-first.
virtual SBPointerList< SBMStructuralModelNode > const * getChildren () const
Returns the list of child nodes.
void getInternalStructuralNodesBreadthFirstBottomUp (std::vector< SBMStructuralModelNode * > & nodeIndexer)
Populates nodeIndexer with internal structural nodes (the node's structural node children), breadth-first, bottom-up.
void getInternalStructuralNodesBreadthFirstTopDown (std::vector< SBMStructuralModelNode * > & nodeIndexer)
Populates nodeIndexer with internal structural nodes (the node's structural node children), breadth-first, top-down.
void getInternalStructuralNodesDepthFirst (std::vector< SBMStructuralModelNode * > & nodeIndexer)
Populates nodeIndexer with internal structural nodes (the node's structural node children), depth-first.
void getLeafStructuralNodesBreadthFirstBottomUp (std::vector< SBMStructuralModelNode * > & nodeIndexer)
Populates nodeIndexer with leaf structural nodes (i.e., only with the nodes that have no shildren), breadth-first, bottom-up.
void getLeafStructuralNodesBreadthFirstTopDown (std::vector< SBMStructuralModelNode * > & nodeIndexer)
Populates nodeIndexer with leaf structural nodes (i.e., only with the nodes that have no shildren), breadth-first, top-down.
void getLeafStructuralNodesDepthFirst (std::vector< SBMStructuralModelNode * > & nodeIndexer)
Populates nodeIndexer with leaf structural nodes (i.e., only with the nodes that have no shildren), depth-first.
virtual bool getLockedFlag () override const
Returns the locked flag of the model.
SBMStructuralModel * getModel () const
Returns a pointer to the structural model this structural node belongs to.
SBMStructuralModelNode * getNextStructuralNode () const
Returns the next structural node in the node's parent.
virtual void getNodes (SBNodeIndexer & nodeIndexer, SBNode::Type nodeType, bool selectedNodesOnly=false, const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) override const
Collects nodes into nodeIndexer , based on anodeType , a selection status and avisitPredicate , with or without dependencies.
virtual void getNodes (SBNodeIndexer & nodeIndexer, const SBNodePredicate & selectionPredicate=SBDDataGraphNode::All(), const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) override const
Collects nodes into nodeIndexer , based on aselectionPredicate and avisitPredicate , with or without dependencies.
virtual unsigned int getOpacity () override const
Returns the opacity.
SBMStructuralModelNode * getPreviousStructuralNode () const
Returns the previous structural node in the node's parent.
void getStructuralNodesBreadthFirst (std::vector< SBMStructuralModelNode * > & nodeVectorTopDown, std::vector< SBMStructuralModelNode * > & nodeVectorBottomUp, bool(*)(SBMStructuralModelNode *) selectionRule)
Selects some structural nodes, breadth-first, both top-down and bottom-up.
void getStructuralNodesBreadthFirstBottomUp (std::vector< SBMStructuralModelNode * > & nodeIndexer, bool(*)(SBMStructuralModelNode *) selectionRule)
Populates nodeIndexer with some structural nodes based on theselectionRule , breadth-first, bottom-up.
void getStructuralNodesBreadthFirstTopDown (std::vector< SBMStructuralModelNode * > & nodeIndexer, bool(*)(SBMStructuralModelNode *) selectionRule)
Populates nodeIndexer with some structural nodes based on theselectionRule , breadth-first, top-down.
void getStructuralNodesDepthFirst (std::vector< SBMStructuralModelNode * > & nodeIndexer, bool(*)(SBMStructuralModelNode *) selectionRule)
Populates nodeIndexer with some structural nodes based on theselectionRule , depth-first.
bool getStructuralSignalFlag () const
Returns true when the node can send structural signals.
virtual unsigned int getTransparency () override const
Returns the transparency.
virtual SBDDataGraphNode::Type getType () override const
Returns the node type.
virtual bool hasNode (SBNode::Type nodeType, bool selectedNodesOnly=false, const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) override const
Checks for nodes based on a nodeType , a selection status and avisitPredicate , with or without dependencies.
virtual bool hasNode (const SBNodePredicate & selectionPredicate=SBDDataGraphNode::All(), const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) override const
Checks for nodes based on a selectionPredicate and avisitPredicate , with or without dependencies.
virtual bool isLocked () override const
Returns whether the node is locked (because of the model)
virtual bool isSerializable () override const
Returns true __
virtual void print (unsigned int offset=0) override const
Prints debugging information.
virtual void serialize (SBCSerializer * serializer, const SBNodeIndexer & nodeIndexer, const SBVersionNumber & sdkVersionNumber=SB_SDK_VERSION_NUMBER, const SBVersionNumber & classVersionNumber=SBVersionNumber(1, 0, 0)) override const
Serializes the node.
void setStructuralSignalFlag (bool structuralSignalFlag)
Sets whether the node can send structural signals.
bool structuralSignalIsConnectedToSlot (SBCReferenceTarget * referenceTarget, void(SBCReferenceTarget::*)(SBStructuralEvent *) functionPointer, SBStructuralEvent::Type eventType=SBStructuralEvent::Type::Any) const
Returns true if and only if the structural signal is connected to a given slot.
virtual void unserialize (SBCSerializer * serializer, const SBNodeIndexer & nodeIndexer, const SBVersionNumber & sdkVersionNumber=SB_SDK_VERSION_NUMBER, const SBVersionNumber & classVersionNumber=SBVersionNumber(1, 0, 0)) override
Unserializes the node.
virtual ~SBMStructuralModelNode ()
Destructor.

Public Functions inherited from SBMModelNode#

See SBMModelNode

Type Name
virtual SBMModelNode * clone () override
Returns a copy of the node and its descendants.
virtual SBDDataGraphNode::Type getType () override const
Returns the type of the data graph node.
virtual bool isSerializable () override const
Returns true __
virtual void serialize (SBCSerializer * serializer, const SBNodeIndexer & nodeIndexer, const SBVersionNumber & sdkVersionNumber=SB_SDK_VERSION_NUMBER, const SBVersionNumber & classVersionNumber=SBVersionNumber(1, 0, 0)) override const
Serializes the node.
virtual void unserialize (SBCSerializer * serializer, const SBNodeIndexer & nodeIndexer, const SBVersionNumber & sdkVersionNumber=SB_SDK_VERSION_NUMBER, const SBVersionNumber & classVersionNumber=SBVersionNumber(1, 0, 0)) override
Unserializes the node.

Public Functions inherited from SBDDataGraphNode#

See SBDDataGraphNode

Type Name
SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, SBCClassProxy *, GetProxy)
SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, SBDDataGraphNode *, This)
SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, SBDDataGraphNode *, GetParent)
SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, SBDDataGraphNode *, GetThis)
SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, SBDDataGraphNode *, GetNextNode)
SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, SBDDataGraphNode *, GetPreviousNode)
SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, SBDDocument *, GetDocument)
SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, SBDDataGraphNode *, GetRoot)
SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, unsigned int, GetNodeIndex)
SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, SBDDataGraphNode::Type, GetType)
SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, bool, GetSelectionFlag)
SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, bool, GetLockedFlag)
SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, bool, GetVisibilityFlag)
SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, bool, GetHighlightingFlag)
SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, unsigned int, GetFlags)
SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, std::string, GetName)
SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, std::string, GetClass)
SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, std::string, GetElement)
SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, SBCContainerUUID, GetElementUUID)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, All)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, None)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsModel)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsAtom)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsBond)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsStructuralNode)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsStructuralModel)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsVisualModel)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsMesh)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsLight)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsInteractionModel)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsDynamicalModel)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsPropertyModel)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsSimulator)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsBallAndStick)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsLicorice)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsVanDerWaals)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsCartoon)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsRibbon)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsTube)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsGaussianSurface)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsSolventAccessibleSurface)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsSolventExcludedSurface)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, HasMaterial)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, OwnsMaterial)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsLocked)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsSerializable)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsCreated)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsErased)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsSelected)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsVisible)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsHighlighted)
SB_NODE_PREDICATE_1 (SB_SBDDATAGRAPH_EXPORT, IsType, SBDDataGraphNode::Type)
SB_NODE_PREDICATE_1 (SB_SBDDATAGRAPH_EXPORT, HasOneOf, SBNodeIndexer)
virtual bool addChild (SBDDataGraphNode * node, SBDDataGraphNode * nextNode=nullptr)
Adds a child to the node.
bool addMaterial (SBDDataGraphNodeMaterial * material)
Adds a material.
bool baseSignalIsConnectedToSlot (SBCReferenceTarget * referenceTarget, void(SBCReferenceTarget::*)(SBBaseEvent *) functionPointer) const
Returns true when the base signal is connected to a slot.
virtual bool canAddChild (const SBDDataGraphNode * node, const SBDDataGraphNode * nextNode=nullptr) const
Returns whether this node can add node as a child.
virtual bool canAddChildType (SBDDataGraphNode::Type nodeType) const
Returns whether this node can add a node with type nodeType as a child.
bool canAddMaterial () const
Returns whether can add a material to the node based on its type.
virtual bool canHaveDescendantType (SBDDataGraphNode::Type nodeType) const
Returns whether this node can have a node with type nodeType as a descendant.
virtual SBDDataGraphNode * clone ()
Returns a copy of the node and its descendants.
void connectBaseSignalToSlot (SBCReferenceTarget * referenceTarget, void(SBCReferenceTarget::*)(SBBaseEvent *) functionPointer, SBCReferenceTarget * nextReferenceTarget=0, void(SBCReferenceTarget::*)(SBBaseEvent *) nextFunctionPointer=0)
Connects the base signal to a slot.
unsigned int countNodes (SBDDataGraphNode::Type nodeType, bool selectedNodesOnly=false, const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) const
Counts nodes based on a nodeType , a selection status and avisitPredicate , with or without dependencies.
unsigned int countNodes (const SBNodePredicate & selectionPredicate=SBDDataGraphNode::All(), const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) const
Counts nodes based on a selectionPredicate and avisitPredicate , with or without dependencies.
void create ()
Creates the node.
bool descendsFrom (const SBDDataGraphNode * node) const
Returns true if and only if this node isnode , or descends from it.
bool descendsFrom (const SBNodeIndexer & nodeIndexer) const
Returns true if and only if this node is one of the nodes of thenodeIndexer , or descends from one of them.
bool descendsFrom (SBPointerIndexer< SBDDataGraphNode > * nodePointerIndexer) const
Returns true if and only if this node is one of the nodes of thenodePointerIndexer , or descends from one of them.
void disconnectBaseSignalFromSlot (SBCReferenceTarget * referenceTarget, void(SBCReferenceTarget::*)(SBBaseEvent *) functionPointer)
Disconnects the base signal from a slot.
virtual void display (RenderingPass renderingPass)
Displays the node.
virtual void display ()
Displays the node (deprecated)
virtual void displayForSelection ()
Displays the node for selection purposes (deprecated)
virtual void displayForShadow ()
Displays the node for shadowing purposes (deprecated)
void erase ()
Erases the node.
virtual void forEachNodeDepthFirst (void(*)(SBDDataGraphNode *node) action)
Performs the action on this node.
virtual void forEachNodeDepthFirst (SBCClass * object, void(SBCClass::*)(SBDDataGraphNode *node) action)
Performs the objects 'saction on this node.
unsigned int getDefaultOpacity () const
Returns the default opacity.
unsigned int getDefaultTransparency () const
Returns the default transparency.
SBDDocument * getDocument () const
Returns the document the node belongs to.
virtual unsigned int getFlags () const
Returns the flags.
virtual std::string getHierarchyString (const std::string & separator=" / ", bool includeNodeType=false) const
Returns a string with hierarchical information on the node and its parents names.
bool getHighlightingFlag () const
Returns the highlighting flag.
virtual unsigned int getInheritedFlags () const
Returns the inherited flags.
float getInheritedOpacity () const
Returns the cumulative opacity, when taking into account the ascendants.
float getInheritedTransparency () const
Returns the cumulative transparency, when taking into account the ascendants.
virtual bool getLockedFlag () const
Returns the locked flag.
SBDDataGraphNodeMaterial * getMaterial () const
Returns the material.
SBDDataGraphNode * getMaterialOwner () const
Returns the node whose material is inherited.
unsigned int getMaximumOpacity () const
Returns the maximum opacity.
unsigned int getMaximumTransparency () const
Returns the maximum transparency.
unsigned int getMinimumOpacity () const
Returns the minimum opacity.
unsigned int getMinimumTransparency () const
Returns the minimum transparency.
virtual SBQuantity::mass getMolecularWeight ()
Returns the molecular weight.
virtual std::string const & getName () const
Returns the name of the node.
SBDDataGraphNode * getNextNode () const
Returns the pointer to the next node in the children of the node's parent.
SBDDataGraphNode * getNextNode (SBDDataGraphNode::Type nodeType) const
Returns the pointer to the next node with type nodeType in the children of the node's parent.
unsigned int getNodeIndex () const
Returns the node index (unique in the whole data graph, but non-persistent)
SBUUID getNodeUUID () const
Returns the node UUID.
virtual void getNodes (SBNodeIndexer & nodeIndexer, SBDDataGraphNode::Type nodeType, bool selectedNodesOnly=false, const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) const
Collects nodes into nodeIndexer , based on anodeType , a selection status and avisitPredicate , with or without dependencies.
virtual void getNodes (SBNodeIndexer & nodeIndexer, const SBNodePredicate & selectionPredicate=SBDDataGraphNode::All(), const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) const
Collects nodes into nodeIndexer , based on aselectionPredicate and avisitPredicate , with or without dependencies.
virtual unsigned int getNumberOfAtoms ()
Returns the number of atoms.
virtual unsigned int getNumberOfCarbons ()
Returns the number of carbons.
virtual unsigned int getNumberOfChains ()
Returns the number of chains.
virtual unsigned int getNumberOfCoarseGrainedAtoms ()
Returns the number of coarse-grained atoms.
virtual unsigned int getNumberOfHydrogens ()
Returns the number of hydrogens.
virtual unsigned int getNumberOfMolecules ()
Returns the number of molecules.
virtual unsigned int getNumberOfNitrogens ()
Returns the number of nitrogens.
virtual unsigned int getNumberOfOtherAtoms ()
Returns the number of other atoms.
virtual unsigned int getNumberOfOxygens ()
Returns the number of oxygens.
virtual unsigned int getNumberOfResidues ()
Returns the number of residues.
virtual unsigned int getNumberOfSegments ()
Returns the number of segments.
virtual unsigned int getNumberOfStructuralGroups ()
Returns the number of structural groups.
virtual unsigned int getNumberOfStructuralModels ()
Returns the number of structural models.
virtual unsigned int getNumberOfSulfurs ()
Returns the number of sulfurs.
virtual unsigned int getOpacity () const
Returns the opacity.
unsigned int getOpacitySingleStep () const
Returns the opacity single step.
std::string getOpacitySuffix () const
Returns the opacity suffix.
SBDDataGraphNode * getParent () const
Returns the parent of the node.
SBDDataGraphNode * getPreviousNode () const
Returns the pointer to the previous node in the children of the node's parent.
SBDDataGraphNode * getPreviousNode (SBDDataGraphNode::Type nodeType) const
Returns the pointer to the previous node with type nodeType in the children of the node's parent.
SBDDataGraphNode * getRoot () const
Returns the root of the hierarchy the node belongs to.
bool getSelected () const
Returns whether the node is selected.
bool getSelectionFlag () const
Returns the selection flag.
virtual int getSumOfFormalCharges ()
Returns the sum of formal charges.
virtual float getSumOfPartialCharges ()
Returns the sum of partial charges.
SBDDataGraphNode * getThisNode () const
Returns the pointer to this node.
virtual unsigned int getTransparency () const
Returns the transparency.
unsigned int getTransparencySingleStep () const
Returns the transparency single step.
std::string getTransparencySuffix () const
Returns the transparency suffix.
virtual Type getType () const
Returns the type of the data graph node.
std::string getTypeString (bool humanReadable=false) const
Returns a string describing the type of the data graph node.
bool getVisibilityFlag () const
Returns the visibility flag.
bool getVisible () const
Returns whether the node is visible.
bool hasMaterial () const
Returns whether the node has a material (by itself, or inherited)
virtual bool hasNode (SBDDataGraphNode::Type nodeType, bool selectedNodesOnly=false, const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) const
Returns whether the node has nodes based on a nodeType , a selection status and avisitPredicate , with or without dependencies.
virtual bool hasNode (const SBNodePredicate & selectionPredicate=SBDDataGraphNode::All(), const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) const
Returns whether the node has nodes based on a selectionPredicate and avisitPredicate , with or without dependencies.
bool hasOneOf (const SBNodeIndexer & nodeIndexer) const
Returns true if and only if this node is one of the nodes of thenodeIndexer , or is the ancestor of one of them, or is a group that stores one of them.
bool hasOpacityRange () const
Returns whether the node has the opacity range.
bool hasTransparencyRange () const
Returns whether the node has the transparency range.
bool isAtom () const
Returns true when the node is an atom.
bool isBallAndStick () const
Returns true when the node is the default ball-and-stick visual model.
bool isBond () const
Returns true when the node is a bond.
bool isCartoon () const
Returns true when the node is the default cartoon visual model.
bool isCreated () const
Returns true if and only if the node is created.
bool isDynamicalModel () const
Returns true when the node is a dynamical model.
bool isErased () const
Returns true if and only if the node is erased.
bool isGaussianSurface () const
Returns true when the node is the default Gaussian surface visual model.
bool isHighlighted () const
Returns whether the node is highlighted.
bool isIn (const SBDDataGraphNode * node) const
Returns true if and only if this node isnode , or descends from it, or belongs to a group stored innode .
bool isIn (const SBNodeIndexer & nodeIndexer) const
Returns true if and only if this node is one of the nodes of thenodeIndexer , or descends from one of them, or belongs to a group stored in one of the nodes of thenodeIndexer .
bool isIn (SBPointerIndexer< SBDDataGraphNode > * nodePointerIndexer) const
Returns true if and only if this node is one of the nodes of thenodePointerIndexer , or descends from one of them, or belongs to a group stored in of the nodes of thenodePointerIndexer .
bool isInteractionModel () const
Returns true when the node is a interaction model.
bool isLicorice () const
Returns true when the node is the default licorice visual model.
bool isLight () const
Returns true when the node is a light.
virtual bool isLocked () const
Returns whether the node is locked.
bool isMesh () const
Returns true when the node is a mesh.
bool isModel () const
Returns true when the node is a model.
bool isOneOf (const SBNodeIndexer & nodeIndexer) const
Returns true if and only if this node is one of the nodes of thenodeIndexer .
bool isOneOf (SBPointerIndexer< SBDDataGraphNode > * nodePointerIndexer) const
Returns true if and only if this node is one of the nodes of thenodePointerIndexer .
bool isPropertyModel () const
Returns true when the node is a property model.
bool isRibbon () const
Returns true when the node is the default ribbon visual model.
bool isSelected () const
Returns whether the node is selected.
virtual bool isSerializable () const
Returns true when the class is serializable.
bool isSimulator () const
Returns true when the node is a simulator.
bool isSolventAccessibleSurface () const
Returns true when the node is the default solvent accessible surface visual model.
bool isSolventExcludedSurface () const
Returns true when the node is the default solvent excluded surface visual model.
bool isStructuralModel () const
Returns true when the node is a structural model.
bool isStructuralNode () const
Returns true when the node is a structural node.
bool isTube () const
Returns true when the node is the default tube visual model.
bool isType (Type type) const
Returns true when the type of the node corresponds totype .
bool isVanDerWaals () const
Returns true when the node is the default van der Waals visual model.
bool isVisible () const
Returns whether the node is visible.
bool isVisualModel () const
Returns true when the node is a visual model.
bool ownsMaterial () const
Returns whether the node owns a material.
virtual void print (unsigned int offset=0) const
Prints some debugging information.
virtual bool removeChild (SBDDataGraphNode * node)
Removes a child from the node.
bool removeMaterial ()
Removes the material.
void removeMaterialsFromDescendants ()
Removes materials from all nodes that descend from this node, but it does not remove the material from the node itself.
virtual void serialize (SBCSerializer * serializer, const SBNodeIndexer & nodeIndexer, const SBVersionNumber & sdkVersionNumber=SB_SDK_VERSION_NUMBER, const SBVersionNumber & classVersionNumber=SBVersionNumber(1, 0, 0)) const
Serializes the node.
void setHighlightingFlag (bool flag)
Sets the highlighting flag.
virtual void setLockedFlag (bool flag)
Sets the locked flag.
virtual void setName (const std::string & name)
Sets the name of the node.
virtual void setOpacity (unsigned int opacity)
Sets the opacity.
void setSelectionFlag (bool flag)
Sets the selection flag.
virtual void setTransparency (unsigned int transparency)
Sets the transparency.
void setVisibilityFlag (bool flag)
Sets the visibility flag.
virtual void unserialize (SBCSerializer * serializer, const SBNodeIndexer & nodeIndexer, const SBVersionNumber & sdkVersionNumber=SB_SDK_VERSION_NUMBER, const SBVersionNumber & classVersionNumber=SBVersionNumber(1, 0, 0))
Unserializes the node.

Public Functions inherited from SBCReferenceTarget#

See SBCReferenceTarget

Type Name
SBCReferenceTarget ()
Builds the reference target.
unsigned int getMemoryFootprint () const
Returns the memory footprint.
void printReferencesToOwners () const
Prints the references to the owners of this reference target.
virtual ~SBCReferenceTarget ()
Destructor.

Public Static Functions#

Type Name
std::string getAminoAcidOneLetterCode (const ResidueType residueType)
Returns one letter code for the given amino acid residue type.
double getDissociationConstant1 (const ResidueType residueType)
Returns the pKa1 value (the negative of the logarithm of the dissociation constant for the carboxyl functional group, -COOH) for the given residue type.
double getDissociationConstant2 (const ResidueType residueType)
Returns the pKa2 value (the negative of the logarithm of the dissociation constant for the amino functional group, -NH3) for the given residue type.
double getHydrophobicity (const ResidueType residueType, const HydrophobicityScale hydrophobicityScale)
Returns the hydrophobicity value for the residue residueType in the hydrophobicity scalehydrophobicityScale .
std::string getHydrophobicityScaleString (const HydrophobicityScale hydrophobicityScale)
Returns the hydrophobicity scale hydrophobicityScale as a string.
double getIsoelectricPointPH (const ResidueType residueType)
Returns the pI value (the pH at the isoelectric point) for the given residue type.
ResidueType getResidueTypeFromAminoAcidOneLetterCode (const std::string & s)
Returns the amino acid residue type from the one letter code of the amino acid residue s .
ResidueType getResidueTypeFromString (const std::string & s)
Returns the residue type based on the string s .
std::string getResidueTypeFullName (ResidueType residueType)
Returns the full name of the residue type residueType .
std::string getResidueTypeString (ResidueType residueType)
Returns the string representation of the residue type residueType .
std::string getSecondaryStructureTypeString (SecondaryStructureType secondaryStructureType)
Returns the secondary structure type secondaryStructureType as a string.
SideChainCharge getSideChainCharge (const ResidueType residueType)
Returns the residue's side chain charge for the the given residue type.
std::string getSideChainChargeString (const SideChainCharge sideChainCharge)
Returns a string representation of the give side chain charge type.
SideChainPolarity getSideChainPolarity (const ResidueType residueType)
Returns the residue's side chain polarity for the given residue type.
std::string getSideChainPolarityString (const SideChainPolarity sideChainPolarity)
Returns a string representation of the give side chain polarity type.
bool hasAminoAcidChi1Angle (const ResidueType residueType)
Returns true if the residue typeresidueType is an amino acid and has chi1 angle.
bool hasAminoAcidChi2Angle (const ResidueType residueType)
Returns true if the residue typeresidueType is an amino acid and has chi2 angle.
bool hasAminoAcidChi3Angle (const ResidueType residueType)
Returns true if the residue typeresidueType is an amino acid and has chi3 angle.
bool hasAminoAcidChi4Angle (const ResidueType residueType)
Returns true if the residue typeresidueType is an amino acid and has chi4 angle.
bool hasAminoAcidChi5Angle (const ResidueType residueType)
Returns true if the residue typeresidueType is an amino acid and has chi5 angle.
bool hasDissociationConstant (const ResidueType residueType)
Returns true if the dissociation constants (pKa1, pKa2) and isoelectric point are defined for the given residue type.
bool hasHydrophobicity (const ResidueType residueType)
Returns true if for the residue typeresidueType the hydrophobicity is defined.
bool hasSideChainCharge (const ResidueType residueType)
Returns true if for the given residue type the side chain charge is defined.
bool hasSideChainPolarity (const ResidueType residueType)
Returns true if for the given residue type the side chain polarity is defined.
bool isAminoAcid (ResidueType residueType)
Returns true if and only if the residue ofresidueType is an amino acid.
bool isNucleicAcid (ResidueType residueType)
Returns true if and only if the residue ofresidueType is a nucleic acid.
bool isStandardAminoAcidName (const std::string & name)
Returns true if and only if the namename corresponds to one of the standard PDB amino acid residue names.
bool isStandardNucleicAcidName (const std::string & name)
Returns true if and only if the namename corresponds to one of the standard PDB nucleic acid residue names.
bool isStandardResidueName (const std::string & name)
Returns true if and only if the namename corresponds to one of the standard PDB amino or nucleic acid residue names.

Public Static Functions inherited from SBMStructuralModelNode#

See SBMStructuralModelNode

Type Name
void forEachStructuralNodeInSelection (std::vector< SBMStructuralModelNode * > & selection, void(*)(SBMStructuralModelNode *node) action)
Performs the action on nodes in theselection __
void forEachStructuralNodeInSelection (std::vector< SBMStructuralModelNode * > & selection, SBCClass * object, void(SBCClass::*)(SBMStructuralModelNode *node) action)
Performs the object 'saction on nodes in theselection __

Public Static Functions inherited from SBDDataGraphNode#

See SBDDataGraphNode

Type Name
bool canAddMaterial (SBDDataGraphNode::Type nodeType)
Returns whether can add a material to a node of type nodeType .
void clone (const SBNodeIndexer & sourceNodeIndexer, SBNodeIndexer & destinationNodeIndexer)
Clones the nodes in sourceNodeIndexer (treated as a whole) and places the clones indestinationNodeIndexer .
void forEachNodeInSelection (SBNodeIndexer & nodeIndexer, void(*)(SBDDataGraphNode *node) action)
Performs the action for each node innodeIndexer __
void forEachNodeInSelection (SBNodeIndexer & nodeIndexer, SBCClass * object, void(SBCClass::*)(SBDDataGraphNode *node) action)
Performs the objects 'saction for each node innodeIndexer __
SBDDataGraphNode * getNode (unsigned int nodeIndex)
Returns the unique node corresponding to the node index nodeIndex .
std::string getTypeString (Type type, bool humanReadable=false)
Returns a string describing the type of the data graph node.

Protected Attributes inherited from SBCReferenceTarget#

See SBCReferenceTarget

Type Name
SBCReferenceTargetData * dataPointer
A pointer to the private data.

Protected Functions inherited from SBMStructuralModelNodeGroup#

See SBMStructuralModelNodeGroup

Type Name
SBMStructuralModelNodeGroup (SBMStructuralModelNodeGroupData * dataPointer)
Builds a base object.

Protected Functions inherited from SBMStructuralModelNode#

See SBMStructuralModelNode

Type Name
SBMStructuralModelNode ()
Builds a structural model node.
SBMStructuralModelNode (SBMStructuralModelNodeData * dataPointer)
Builds a structural model node.

Protected Functions inherited from SBMModelNode#

See SBMModelNode

Type Name
SBMModelNode ()
Builds a base object.
SBMModelNode (SBMModelNodeData * dataPointer)
Builds a base object.
virtual ~SBMModelNode ()
Destructor.

Protected Functions inherited from SBDDataGraphNode#

See SBDDataGraphNode

Type Name
SBDDataGraphNode ()
Builds a data graph node.
SBDDataGraphNode (SBDDataGraphNodeData * dataPointer)
Builds a data graph node.
virtual ~SBDDataGraphNode ()
Destroys the node.

Protected Functions inherited from SBCReferenceTarget#

See SBCReferenceTarget

Type Name
SBCReferenceTarget (SBCReferenceTargetData * dataPointer)
Protected constructor.
void removeAllReferenceOwners ()
Stops all the reference owners from referencing this reference target.

Detailed Description#

Short name: SBResidue

Public Types Documentation#

enum HydrophobicityScale#

The available hydrophobicity scale types.

enum SBMStructuralModelNodeResidue::HydrophobicityScale {
    KyteDoolittle1982 = 0,
    SeredaEtAl1994 = 1,
    MoneraEtAl1995 = 2,
    WimleyWhite1996 = 3,
    HessaEtAl2005 = 4,
    ZhaoLondon2006 = 5,
    MoonFleming2011 = 6
};


enum ResidueType#

The available residue types.

enum SBMStructuralModelNodeResidue::ResidueType {
    Undefined = 0,
    ALA = 1,
    ARG = 2,
    ASP = 3,
    ASN = 4,
    VAL = 5,
    HIS = 6,
    GLY = 7,
    GLU = 8,
    GLN = 9,
    ILE = 10,
    LEU = 11,
    LYS = 12,
    MET = 13,
    PRO = 14,
    SER = 15,
    TYR = 16,
    THR = 17,
    TRP = 18,
    PHE = 19,
    CYS = 20,
    ASX = 21,
    GLX = 22,
    XLE = 23,
    XAA = 24,
    SEC = 25,
    PYL = 26,
    A = 27,
    C = 28,
    G = 29,
    U = 30,
    I = 31,
    DA = 32,
    DC = 33,
    DG = 34,
    DT = 35,
    DI = 36
};


enum SecondaryStructureType#

The available secondary structure types.

enum SBMStructuralModelNodeResidue::SecondaryStructureType {
    Unstructured = 0,
    Alpha = 1,
    Beta = 2
};


enum SideChainCharge#

The available side chain charge types.

enum SBMStructuralModelNodeResidue::SideChainCharge {
    UndefinedSideChainCharge = 0,
    Negative = 1,
    Neutral = 2,
    Positive = 3
};


enum SideChainPolarity#

The available side chain polarity types.

enum SBMStructuralModelNodeResidue::SideChainPolarity {
    UndefinedSideChainPolarity = 0,
    Nonpolar = 1,
    Polar = 2,
    AcidicPolar = 3,
    BasicPolar = 4
};


Public Functions Documentation#

function SBMStructuralModelNodeResidue [1/2]#

Builds a residue.

SBMStructuralModelNodeResidue::SBMStructuralModelNodeResidue () 

Constructs a new residue node with default values.

Creates an empty residue without a name, backbone, or side chain.


function SBMStructuralModelNodeResidue [2/2]#

Builds a residue with the given name.

SBMStructuralModelNodeResidue::SBMStructuralModelNodeResidue (
    const std::string & n
) 

Constructs a residue node with the specified name.

Initializes the residue with the given name and default properties.

Parameters:

  • n The name to assign to the residue.

function SB_NODE_GETTER_0 [1/13]#

SBMStructuralModelNodeResidue::SB_NODE_GETTER_0 (
    SB_SBMSTRUCTURALMODEL_EXPORT,
    SBMStructuralModelNodeResidue::ResidueType,
    GetResidueType
) 

function SB_NODE_GETTER_0 [2/13]#

SBMStructuralModelNodeResidue::SB_NODE_GETTER_0 (
    SB_SBMSTRUCTURALMODEL_EXPORT,
    std::string,
    GetResidueTypeString
) 

function SB_NODE_GETTER_0 [3/13]#

SBMStructuralModelNodeResidue::SB_NODE_GETTER_0 (
    SB_SBMSTRUCTURALMODEL_EXPORT,
    SBMStructuralModelNodeResidue::SecondaryStructureType,
    GetSecondaryStructureType
) 

function SB_NODE_GETTER_0 [4/13]#

SBMStructuralModelNodeResidue::SB_NODE_GETTER_0 (
    SB_SBMSTRUCTURALMODEL_EXPORT,
    double,
    GetHydrophobicity
) 

function SB_NODE_GETTER_0 [5/13]#

SBMStructuralModelNodeResidue::SB_NODE_GETTER_0 (
    SB_SBMSTRUCTURALMODEL_EXPORT,
    SBMStructuralModelNodeResidue::HydrophobicityScale,
    GetHydrophobicityScale
) 

function SB_NODE_GETTER_0 [6/13]#

SBMStructuralModelNodeResidue::SB_NODE_GETTER_0 (
    SB_SBMSTRUCTURALMODEL_EXPORT,
    SBMStructuralModelNodeResidue::SideChainCharge,
    GetSideChainCharge
) 

function SB_NODE_GETTER_0 [7/13]#

SBMStructuralModelNodeResidue::SB_NODE_GETTER_0 (
    SB_SBMSTRUCTURALMODEL_EXPORT,
    std::string,
    GetSideChainChargeString
) 

function SB_NODE_GETTER_0 [8/13]#

SBMStructuralModelNodeResidue::SB_NODE_GETTER_0 (
    SB_SBMSTRUCTURALMODEL_EXPORT,
    SBMStructuralModelNodeResidue::SideChainPolarity,
    GetSideChainPolarity
) 

function SB_NODE_GETTER_0 [9/13]#

SBMStructuralModelNodeResidue::SB_NODE_GETTER_0 (
    SB_SBMSTRUCTURALMODEL_EXPORT,
    std::string,
    GetSideChainPolarityString
) 

function SB_NODE_GETTER_0 [10/13]#

SBMStructuralModelNodeResidue::SB_NODE_GETTER_0 (
    SB_SBMSTRUCTURALMODEL_EXPORT,
    double,
    GetDissociationConstant1
) 

function SB_NODE_GETTER_0 [11/13]#

SBMStructuralModelNodeResidue::SB_NODE_GETTER_0 (
    SB_SBMSTRUCTURALMODEL_EXPORT,
    double,
    GetDissociationConstant2
) 

function SB_NODE_GETTER_0 [12/13]#

SBMStructuralModelNodeResidue::SB_NODE_GETTER_0 (
    SB_SBMSTRUCTURALMODEL_EXPORT,
    double,
    GetIsoelectricPointPH
) 

function SB_NODE_GETTER_0 [13/13]#

SBMStructuralModelNodeResidue::SB_NODE_GETTER_0 (
    SB_SBMSTRUCTURALMODEL_EXPORT,
    int,
    GetResidueSequenceNumber
) 

function SB_NODE_PREDICATE_0 [1/10]#

SBMStructuralModelNodeResidue::SB_NODE_PREDICATE_0 (
    SB_SBMSTRUCTURALMODEL_EXPORT,
    IsAminoAcid
) 

function SB_NODE_PREDICATE_0 [2/10]#

SBMStructuralModelNodeResidue::SB_NODE_PREDICATE_0 (
    SB_SBMSTRUCTURALMODEL_EXPORT,
    IsNucleicAcid
) 

function SB_NODE_PREDICATE_0 [3/10]#

SBMStructuralModelNodeResidue::SB_NODE_PREDICATE_0 (
    SB_SBMSTRUCTURALMODEL_EXPORT,
    IsTerminal
) 

function SB_NODE_PREDICATE_0 [4/10]#

SBMStructuralModelNodeResidue::SB_NODE_PREDICATE_0 (
    SB_SBMSTRUCTURALMODEL_EXPORT,
    HasStandardResidueName
) 

function SB_NODE_PREDICATE_0 [5/10]#

SBMStructuralModelNodeResidue::SB_NODE_PREDICATE_0 (
    SB_SBMSTRUCTURALMODEL_EXPORT,
    HasCompleteAminoAcidBackbone
) 

function SB_NODE_PREDICATE_0 [6/10]#

SBMStructuralModelNodeResidue::SB_NODE_PREDICATE_0 (
    SB_SBMSTRUCTURALMODEL_EXPORT,
    HasHydrophobicity
) 

function SB_NODE_PREDICATE_0 [7/10]#

SBMStructuralModelNodeResidue::SB_NODE_PREDICATE_0 (
    SB_SBMSTRUCTURALMODEL_EXPORT,
    HasSideChainCharge
) 

function SB_NODE_PREDICATE_0 [8/10]#

SBMStructuralModelNodeResidue::SB_NODE_PREDICATE_0 (
    SB_SBMSTRUCTURALMODEL_EXPORT,
    HasSideChainPolarity
) 

function SB_NODE_PREDICATE_0 [9/10]#

SBMStructuralModelNodeResidue::SB_NODE_PREDICATE_0 (
    SB_SBMSTRUCTURALMODEL_EXPORT,
    HasDissociationConstant
) 

function SB_NODE_PREDICATE_0 [10/10]#

SBMStructuralModelNodeResidue::SB_NODE_PREDICATE_0 (
    SB_SBMSTRUCTURALMODEL_EXPORT,
    HasResidueSequenceNumber
) 

function addChild#

Adds a child to the node.

virtual bool SBMStructuralModelNodeResidue::addChild (
    SBNode * node,
    SBNode * nextNode=nullptr
) override

Adds a node as a child of this residue.

Validates the addition, updates internal references to backbone or side chain, and sets appropriate names.

Parameters:

  • node The node to add as a child.
  • nextNode The node after which the new child should be inserted, or nullptr.

Returns:

true if the child was successfully added; false otherwise.

Implements SBMStructuralModelNodeGroup::addChild


function addHydrogensByResidueType#

Adds hydrogen atoms to the residue based on its type.

int SBMStructuralModelNodeResidue::addHydrogensByResidueType () 

Adds hydrogen atoms to this residue based on its type.

The function delegates to a chemical component proxy if available.

Returns:

The number of hydrogen atoms added, or 0 if the operation could not be performed.


function canAddChild#

Returns whether this node can add node as a child.

virtual bool SBMStructuralModelNodeResidue::canAddChild (
    const SBNode * node,
    const SBNode * nextNode=nullptr
) override const

Determines whether a node can be added as a child of this residue.

Checks lock status, base class constraints, and ensures the node is a backbone or side chain that is not already present.

Parameters:

  • node The node to be added as a child.
  • nextNode The node after which the new child would be inserted, or nullptr.

Returns:

true if the node can be added as a child; false otherwise.

Implements SBMStructuralModelNodeGroup::canAddChild


function canAddChildType#

Returns whether this node can add a node with type nodeType as a child.

virtual bool SBMStructuralModelNodeResidue::canAddChildType (
    SBNode::Type nodeType
) override const

Determines whether a node of a given type can be added as a child of this residue.

Allows only backbone and side chain node types.

Parameters:

  • nodeType The type of node to be added as a child.

Returns:

true if the node type is allowed as a child; false otherwise.

Implements SBMStructuralModelNodeGroup::canAddChildType


function canHaveDescendantType#

Returns whether this node can have a node with type nodeType as a descendant.

virtual bool SBMStructuralModelNodeResidue::canHaveDescendantType (
    SBNode::Type nodeType
) override const

Determines whether a node of a given type can appear as a descendant of this residue.

Allows atom, backbone, bond, and side chain node types.

Parameters:

  • nodeType The type of node to be checked as a descendant.

Returns:

true if the node type can be a descendant; false otherwise.

Implements SBMStructuralModelNodeGroup::canHaveDescendantType


function clone#

Returns a copy of the node and its descendants.

virtual SBMStructuralModelNodeResidue * SBMStructuralModelNodeResidue::clone () override

Creates a copy of this residue node and its descendants.

Returns:

A pointer to the newly cloned SBMStructuralModelNodeResidue object.

Implements SBMStructuralModelNodeGroup::clone


function computeAminoAcidChi1Angle#

Computes the chi1 angle (in degrees) for the amino acid residue's side chain.

SBQuantity::dimensionless SBMStructuralModelNodeResidue::computeAminoAcidChi1Angle () 

Computes the chi1 angle (in degrees) for the amino acid side chain.

Returns:

The chi1 angle in degrees.


function computeAminoAcidChi2Angle#

Computes the chi2 angle (in degrees) for the amino acid residue's side chain.

SBQuantity::dimensionless SBMStructuralModelNodeResidue::computeAminoAcidChi2Angle () 

Computes the chi2 angle (in degrees) for the amino acid side chain.

Returns:

The chi2 angle in degrees.


function computeAminoAcidChi3Angle#

Computes the chi3 angle (in degrees) for the amino acid residue's side chain.

SBQuantity::dimensionless SBMStructuralModelNodeResidue::computeAminoAcidChi3Angle () 

Computes the chi3 angle (in degrees) for the amino acid side chain.

Returns:

The chi3 angle in degrees.


function computeAminoAcidChi4Angle#

Computes the chi4 angle (in degrees) for the amino acid residue's side chain.

SBQuantity::dimensionless SBMStructuralModelNodeResidue::computeAminoAcidChi4Angle () 

Computes the chi4 angle (in degrees) for the amino acid side chain.

Returns:

The chi4 angle in degrees.


function computeAminoAcidChi5Angle#

Computes the chi5 angle (in degrees) for the amino acid residue's side chain.

SBQuantity::dimensionless SBMStructuralModelNodeResidue::computeAminoAcidChi5Angle () 

Computes the chi5 angle (in degrees) for the amino acid side chain.

Returns:

The chi5 angle in degrees.


function computeAminoAcidPhiAngle#

Computes the phi dihedral angle (in degrees) for the amino acid's backbone.

SBQuantity::dimensionless SBMStructuralModelNodeResidue::computeAminoAcidPhiAngle () 

Returns:

The phi angle in degrees.


function computeAminoAcidPsiAngle#

Computes the psi dihedral angle (in degrees) for the amino acid's backbone.

SBQuantity::dimensionless SBMStructuralModelNodeResidue::computeAminoAcidPsiAngle () 

Returns:

The psi angle in degrees.


function computeNucleicAcidAlphaAngle#

Computes the alpha (O3'(i-1)-P-O5'-C5') dihedral angle (in degrees) for the nucleic acid's backbone.

SBQuantity::dimensionless SBMStructuralModelNodeResidue::computeNucleicAcidAlphaAngle () 

Computes the alpha dihedral angle (in degrees) for the nucleic acid's backbone.

Returns:

The alpha angle in degrees.


function computeNucleicAcidBetaAngle#

Computes the beta (P-O5'-C5'-C4') dihedral angle (in degrees) for the nucleic acid's backbone.

SBQuantity::dimensionless SBMStructuralModelNodeResidue::computeNucleicAcidBetaAngle () 

Computes the beta dihedral angle (in degrees) for the nucleic acid's backbone.

Returns:

The beta angle in degrees.


function computeNucleicAcidChiAngle#

Computes the chi dihedral angle (in degrees) for the nucleic acid's backbone.

SBQuantity::dimensionless SBMStructuralModelNodeResidue::computeNucleicAcidChiAngle () 

For pyrimidines (Y): O4'-C1'-N1-C2. For purines (R): O4'-C1'-N9-C4.

Returns:

The chi dihedral angle in degrees.


function computeNucleicAcidDeltaAngle#

Computes the delta (C5'-C4'-C3'-O3') dihedral angle (in degrees) for the nucleic acid's backbone.

SBQuantity::dimensionless SBMStructuralModelNodeResidue::computeNucleicAcidDeltaAngle () 

Computes the delta dihedral angle (in degrees) for the nucleic acid's backbone.

Returns:

The delta angle in degrees.


function computeNucleicAcidEpsilonAngle#

Computes the epsilon (C4'-C3'-O3'-P(i+1)) dihedral angle (in degrees) for the nucleic acid's backbone.

SBQuantity::dimensionless SBMStructuralModelNodeResidue::computeNucleicAcidEpsilonAngle () 

Computes the epsilon dihedral angle (in degrees) for the nucleic acid's backbone.

Returns:

The epsilon angle in degrees.


function computeNucleicAcidGammaAngle#

Computes the gamma (O5'-C5'-C4'-C3') dihedral angle (in degrees) for the nucleic acid's backbone.

SBQuantity::dimensionless SBMStructuralModelNodeResidue::computeNucleicAcidGammaAngle () 

Computes the gamma dihedral angle (in degrees) for the nucleic acid's backbone.

Returns:

The gamma angle in degrees.


function computeNucleicAcidZetaAngle#

Computes the zeta (C3'-O3'-P(i+1)-O5'(i+1)) dihedral angle (in degrees) for the nucleic acid's backbone.

SBQuantity::dimensionless SBMStructuralModelNodeResidue::computeNucleicAcidZetaAngle () 

Computes the zeta dihedral angle (in degrees) for the nucleic acid's backbone.

Returns:

The zeta angle in degrees.


function createCovalentBondsByResidueType#

Sets the order of covalent bonds for the atoms belonging to the residue according to the residue type, regardless of inter-atomic distances.

int SBMStructuralModelNodeResidue::createCovalentBondsByResidueType () 

Creates covalent bonds for the atoms of this residue according to its type.

The function delegates to a chemical component proxy if available.

Returns:

The number of bonds created, or 0 if the operation could not be performed.


function fixTerminal#

Fixes positions of terminal atoms in a terminal amino acid residue; if addMissingTerminalAtoms istrue then it will try to add missing terminal atoms.

bool SBMStructuralModelNodeResidue::fixTerminal (
    bool addMissingTerminalAtoms=true
) 

Fixes positions of terminal atoms in a terminal amino acid residue; if addMissingTerminalAtoms is true then it will try to add missing terminal atoms:

  • updates positions of hydrogens in a N-terminal amide (-NH for prolines, -NH2 or -NH3 for others depending on their charge);
  • updates positions of oxygens in a C-terminus (-COO).

Note: if addMissingTerminalAtoms is true and there are missing hydrogens for terminal nitrogen, then it will remove existing hydrogens for the nitrogen atom with missing hydrogens to add all the necessary hydrogens.

Returns whether it was able to update positions of any atoms, including if missing atoms were added.

Parameters:

  • addMissingTerminalAtoms If true, missing terminal atoms will be added.

Returns:

true if any atom positions were updated or missing atoms were added; false otherwise.


function getAminoAcidOneLetterCode [1/2]#

Returns one letter code of the amino acid residue.

std::string SBMStructuralModelNodeResidue::getAminoAcidOneLetterCode () const

Returns the one letter code of the amino acid residue.

For nucleic acids and a residue of an SBResidue::Undefined type it will return an empty string.

Returns:

The one‑letter code of the amino acid, or an empty string if not applicable.


function getBackbone#

Returns the residue's backbone if it has one, else returns nullptr.

SBMStructuralModelNodeBackbone * SBMStructuralModelNodeResidue::getBackbone () const

Retrieves the backbone node of this residue, if present.

Returns:

A pointer to the SBMStructuralModelNodeBackbone associated with this residue, or nullptr if none.


function getDissociationConstant1 [1/2]#

Returns the pKa1 value (the negative of the logarithm of the dissociation constant for the carboxyl functional group, -COOH) for this residue.

double SBMStructuralModelNodeResidue::getDissociationConstant1 () const

Reference: D.R. Lide, Handbook of Chemistry and Physics, 72nd Edition, CRC Press, Boca Raton, FL, 1991.

Returns:

The pKa1 value for this residue.


function getDissociationConstant2 [1/2]#

Returns the pKa2 value (the negative of the logarithm of the dissociation constant for the amino functional group, -NH3) for this residue.

double SBMStructuralModelNodeResidue::getDissociationConstant2 () const

Reference: D.R. Lide, Handbook of Chemistry and Physics, 72nd Edition, CRC Press, Boca Raton, FL, 1991.

Returns:

The pKa2 value for this residue.


function getHydrophobicity [1/3]#

Returns the residue's hydrophobicity in the current hydrophobicity scale.

double SBMStructuralModelNodeResidue::getHydrophobicity () const

Returns the hydrophobicity of this residue using the current hydrophobicity scale.

Returns:

The hydrophobicity value.


function getHydrophobicity [2/3]#

Returns the residue's hydrophobicity in the given hydrophobicity scale hydrophobicityScale .

double SBMStructuralModelNodeResidue::getHydrophobicity (
    const HydrophobicityScale hydrophobicityScale
) const

Returns the hydrophobicity of this residue for the specified hydrophobicity scale.

Parameters:

  • hydrophobicityScale The hydrophobicity scale to use.

Returns:

The hydrophobicity value.


function getHydrophobicityScale#

Returns the current scale of the residue's hydrophobicity.

HydrophobicityScale SBMStructuralModelNodeResidue::getHydrophobicityScale () const

Returns the current hydrophobicity scale used for this residue.

Returns:

The current hydrophobicity scale.


function getHydrophobicityScaleCount#

Returns the number of hydrophobicity scales.

int SBMStructuralModelNodeResidue::getHydrophobicityScaleCount () const

Returns the number of available hydrophobicity scales.

Returns:

The count of hydrophobicity scales.


function getHydrophobicityScaleCurrentIndex#

Returns the current scale's index in the list of hydrophobicity scales.

int SBMStructuralModelNodeResidue::getHydrophobicityScaleCurrentIndex () const

Returns the index of the current hydrophobicity scale in the list of scales.

Returns:

The zero-based index of the current scale, or -1 if not found.


function getHydrophobicityScaleItemText#

Returns the hydrophobicity scale index as a string.

std::string SBMStructuralModelNodeResidue::getHydrophobicityScaleItemText (
    const int index
) const

Returns the string name of the hydrophobicity scale at the given index.

Parameters:

  • index The zero-based index of the scale.

Returns:

The scale name, or an empty string if the index is out of range.


function getHydrophobicityScaleString [1/2]#

Returns the current hydrophobicity scale as a string.

std::string SBMStructuralModelNodeResidue::getHydrophobicityScaleString () const

Returns a string representation of the current hydrophobicity scale.

Returns:

The name of the current hydrophobicity scale.


function getIsoelectricPointPH [1/2]#

Returns the pI value (the pH at the isoelectric point) for this residue.

double SBMStructuralModelNodeResidue::getIsoelectricPointPH () const

Reference: D.R. Lide, Handbook of Chemistry and Physics, 72nd Edition, CRC Press, Boca Raton, FL, 1991.

Returns:

The pI value for this residue.


function getNextAminoAcid#

Returns the next amino acid if any, else returns nullptr.

SBMStructuralModelNodeResidue * SBMStructuralModelNodeResidue::getNextAminoAcid () const

Retrieves the next amino acid residue in the sequence, if any.

Returns:

A pointer to the next amino acid SBMStructuralModelNodeResidue, or nullptr if there is none.


function getNextNucleicAcid#

Returns the next nucleic acid if any, else returns nullptr.

SBMStructuralModelNodeResidue * SBMStructuralModelNodeResidue::getNextNucleicAcid () const

Retrieves the next nucleic acid residue in the sequence, if any.

Returns:

A pointer to the next nucleic acid SBMStructuralModelNodeResidue, or nullptr if there is none.


function getNextResidue#

Returns the next residue if any, else returns nullptr.

SBMStructuralModelNodeResidue * SBMStructuralModelNodeResidue::getNextResidue () const

Retrieves the next residue in the sequence, if any.

Returns:

A pointer to the next SBMStructuralModelNodeResidue, or nullptr if there is none.


function getPreviousAminoAcid#

Returns the previous amino acid if any, else returns nullptr.

SBMStructuralModelNodeResidue * SBMStructuralModelNodeResidue::getPreviousAminoAcid () const

Retrieves the previous amino acid residue in the sequence, if any.

Returns:

A pointer to the previous amino acid SBMStructuralModelNodeResidue, or nullptr if there is none.


function getPreviousNucleicAcid#

Returns the previous nucleic acid if any, else returns nullptr.

SBMStructuralModelNodeResidue * SBMStructuralModelNodeResidue::getPreviousNucleicAcid () const

Retrieves the previous nucleic acid residue in the sequence, if any.

Returns:

A pointer to the previous nucleic acid SBMStructuralModelNodeResidue, or nullptr if there is none.


function getPreviousResidue#

Returns the previous residue if any, else returns nullptr.

SBMStructuralModelNodeResidue * SBMStructuralModelNodeResidue::getPreviousResidue () const

Retrieves the previous residue in the sequence, if any.

Returns:

A pointer to the previous SBMStructuralModelNodeResidue, or nullptr if there is none.


function getResidueType#

Returns the residue's type.

ResidueType SBMStructuralModelNodeResidue::getResidueType () const

Retrieves the type of this residue.

Returns:

The enumerated ResidueType value representing the residue's type.


function getResidueTypeFullName [1/2]#

Returns the full name of the residue's type.

std::string SBMStructuralModelNodeResidue::getResidueTypeFullName () const

Retrieves the full name description of this residue's type.

Returns:

A descriptive full name for the residue type.


function getResidueTypeString [1/2]#

Returns the string representation of the residue's type.

std::string SBMStructuralModelNodeResidue::getResidueTypeString () const

Retrieves the string representation of this residue's type.

Returns the standard three-letter code for known residue types; if the type is undefined, returns the custom type string.

Returns:

The string representing the residue type.


function getSecondaryStructureType#

Returns the most probable secondary structure based on bonds parameters and residue geometry.

SecondaryStructureType SBMStructuralModelNodeResidue::getSecondaryStructureType () const

Returns the most probable secondary structure type for this residue.

Returns:

The secondary structure type.


function getSecondaryStructureTypeString [1/2]#

Returns the secondary structure type as a string.

std::string SBMStructuralModelNodeResidue::getSecondaryStructureTypeString () const

Returns the secondary structure type as a string:

  • "Alpha" for alpha helix
  • "Beta" for beta strand/sheet
  • "Unstructured" for unstructured/loop

Returns:

The secondary structure type as a string: "Alpha", "Beta", or "Unstructured".


function getSideChain#

Returns the residue's side chain if it has one, else returns nullptr.

SBMStructuralModelNodeSideChain * SBMStructuralModelNodeResidue::getSideChain () const

Retrieves the side chain node of this residue, if present.

Returns:

A pointer to the SBMStructuralModelNodeSideChain associated with this residue, or nullptr if none.


function getSideChainCharge [1/2]#

Returns the residue's side chain charge.

SideChainCharge SBMStructuralModelNodeResidue::getSideChainCharge () const

Returns the side chain polarity for this residue.

Returns:

The charge of the residue's side chain at physiological pH 7.4

Reference: Cooper GM, Hausman RE (2004). The cell: a molecular approach. Washington, D.C: ASM Press. p. 51. ISBN 978-0-87893-214-6.


function getSideChainChargeString [1/2]#

Returns the residue's side chain charge as a string.

std::string SBMStructuralModelNodeResidue::getSideChainChargeString () const

Returns a string representation of the side chain charge for this residue.

Returns:

Returns the string representation of the residue's side chain charge.

This function returns a human‑readable description of the side chain charge for this residue.


function getSideChainPolarity [1/2]#

Returns the residue's side chain polarity.

SideChainPolarity SBMStructuralModelNodeResidue::getSideChainPolarity () const

Returns the side chain polarity for this residue.

Returns:

The side chain polarity enumeration value.

Reference: Cooper GM, Hausman RE (2004). The cell: a molecular approach. Washington, D.C: ASM Press. p. 51. ISBN 978-0-87893-214-6.


function getSideChainPolarityString [1/2]#

Returns the residue's side chain polarity as a string.

std::string SBMStructuralModelNodeResidue::getSideChainPolarityString () const

Returns a string representation of the side chain polarity for this residue.

Returns:

The string describing the side chain polarity.


function getType#

Returns the node type (returns SBNode::Residue )

virtual Type SBMStructuralModelNodeResidue::getType () override const

Returns the data graph node type for this residue.

Returns:

The type identifier for a structural model residue node.

Implements SBMStructuralModelNodeGroup::getType


function hasAminoAcidChi1Angle [1/2]#

Returns true if it is an amino acid and has chi1 angle.

bool SBMStructuralModelNodeResidue::hasAminoAcidChi1Angle () const

Returns true if the residue is an amino acid and has a chi1 angle.

Returns:

true if the residue has a chi1 angle; false otherwise.


function hasAminoAcidChi2Angle [1/2]#

Returns true if it is an amino acid and has chi2 angle.

bool SBMStructuralModelNodeResidue::hasAminoAcidChi2Angle () const

Returns true if the residue is an amino acid and has a chi2 angle.

Returns:

true if the residue has a chi2 angle; false otherwise.


function hasAminoAcidChi3Angle [1/2]#

Returns true if it is an amino acid and has chi3 angle.

bool SBMStructuralModelNodeResidue::hasAminoAcidChi3Angle () const

Returns true if the residue is an amino acid and has a chi3 angle.

Returns:

true if the residue has a chi3 angle; false otherwise.


function hasAminoAcidChi4Angle [1/2]#

Returns true if it is an amino acid and has chi4 angle.

bool SBMStructuralModelNodeResidue::hasAminoAcidChi4Angle () const

Returns true if the residue is an amino acid and has a chi4 angle.

Returns:

true if the residue has a chi4 angle; false otherwise.


function hasAminoAcidChi5Angle [1/2]#

Returns true if it is an amino acid and has chi5 angle.

bool SBMStructuralModelNodeResidue::hasAminoAcidChi5Angle () const

Returns true if the residue is an amino acid and has a chi5 angle.

Returns:

true if the residue has a chi5 angle; false otherwise.


function hasCompleteAminoAcidBackbone#

Returns true if and only if the residue has a complete amino-acid backbone.

bool SBMStructuralModelNodeResidue::hasCompleteAminoAcidBackbone () const

Returns true if and only if the residue has a complete amino acid backbone, i.e.

it has alpha-Carbon (CA), Carbon (C), Nitrogen (N), and Oxygen (O).

Returns:

true if the residue has a complete amino acid backbone; otherwise false.


function hasDissociationConstant [1/2]#

Returns true if the dissociation constants (pKa1, pKa2) and isoelectric point are defined for this residue.

bool SBMStructuralModelNodeResidue::hasDissociationConstant () const

Returns true if dissociation constants (pKa1, pKa2) and isoelectric point are defined for this residue.

Returns:

true if defined; false otherwise.


function hasHydrophobicity [1/2]#

Returns true if the residue's hydrophobicity is defined.

bool SBMStructuralModelNodeResidue::hasHydrophobicity () const

Returns true if the residue's hydrophobicity is defined.

Returns:

true if hydrophobicity is defined; false otherwise.


function hasSideChainCharge [1/2]#

Returns true if the residue's side chain charge is defined.

bool SBMStructuralModelNodeResidue::hasSideChainCharge () const

Returns true if the side chain charge is defined for this residue.

This function reports whether a side chain charge value is defined for the residue type of this node.

Returns:

true if the side chain charge is defined; false otherwise.


function hasSideChainPolarity [1/2]#

Returns true if the residue's side chain polarity is defined.

bool SBMStructuralModelNodeResidue::hasSideChainPolarity () const

Returns whether side chain polarity is defined for this residue.

Returns:

Returns true if the side chain polarity is defined for this residue.

This function reports whether a side chain polarity is defined for the residue type of this node.


function hasStandardResidueName#

Returns true if and only if the residue name corresponds to one of the standard PDB residue names.

bool SBMStructuralModelNodeResidue::hasStandardResidueName () const

Returns true if and only if the residue name corresponds to one of the standard PDB residue names.

It takes the first letters preceding any numeric or white space characters and it will check whether this name corresponds to standard PDB residue names. Examples:

  • for "HIS 1" it will get "HIS" and it will check whether it is a standard residue name;
  • for "CYS58" it will get "CYS" and it will check whether it is a standard residue name.

Returns:

true if the residue name is standard, false otherwise.

See also: SBMStructuralModelNodeResidue::isStandardResidueName


function isAminoAcid [1/2]#

Returns true if and only if the residue is an amino acid.

bool SBMStructuralModelNodeResidue::isAminoAcid () const

Returns true if and only if the residue type is an amino acid.

Returns:

true if the residue type is an amino acid; otherwise false.


function isNucleicAcid [1/2]#

Returns true if and only if the residue is a nucleic acid.

bool SBMStructuralModelNodeResidue::isNucleicAcid () const

Returns true if and only if the residue type is a nucleic acid.

Returns:

true if the residue type is a nucleic acid; otherwise false.


function isSerializable#

Returns true __

virtual bool SBMStructuralModelNodeResidue::isSerializable () override const

Indicates whether the residue node can be serialized.

This function always returns true for residues.

Returns:

true, indicating that the node is serializable.

Implements SBMStructuralModelNodeGroup::isSerializable


function isTerminal#

Returns true if and only if the residue is terminal.

bool SBMStructuralModelNodeResidue::isTerminal () const

Determines whether this residue is terminal, i.e., it has no next or previous residue.

Returns:

true if the residue is terminal; otherwise false.


function moveBackboneAtomsFromSideChains#

Moves atoms that should be in the backbone from the side chain: hydrogens connected to backbone's heavy atoms and terminal amino acid backbone oxygens, if they were placed in side chains.

void SBMStructuralModelNodeResidue::moveBackboneAtomsFromSideChains () 

Moves atoms that should be in backbones from side chains.

  • Moves hydrogens connected to backbone atoms from side chains. Hydrogens are considered to be of backbone if they are connected to any backbone heavy atom - no check on hydrogen names is done.
  • For C-terminal amino acid residues, moves backbone oxygens connected to the backbone carbon (-COO) from the side chain. This might happen if the naming is not correct, e.g., oxygens are named as O1, O2 or OT1, OT2 instead of O, OXT.

function orientAminoAcidSideChain#

Rotates the amino acid's side chain to orient it according to given dihedral angles chi1 ,chi2 ,chi3 ,chi4 ,chi5 . Returns true if at leastchi1 rotation was performed.

bool SBMStructuralModelNodeResidue::orientAminoAcidSideChain (
    const SBQuantity::degree & chi1,
    const SBQuantity::degree & chi2=SBQuantity::degree (0.0),
    const SBQuantity::degree & chi3=SBQuantity::degree (0.0),
    const SBQuantity::degree & chi4=SBQuantity::degree (0.0),
    const SBQuantity::degree & chi5=SBQuantity::degree (0.0)
) 

Rotates the amino acid side chain to orient it according to the given dihedral angles.

This method attempts to set the side chain dihedral angles chi1 through chi5.

Parameters:

  • chi1 The chi1 dihedral angle.
  • chi2 The chi2 dihedral angle (optional, default 0.0).
  • chi3 The chi3 dihedral angle (optional, default 0.0).
  • chi4 The chi4 dihedral angle (optional, default 0.0).
  • chi5 The chi5 dihedral angle (optional, default 0.0).

Returns:

true if at least the chi1 rotation was performed; false otherwise.


function removeChild#

Removes a child from the node.

virtual bool SBMStructuralModelNodeResidue::removeChild (
    SBNode * node
) override

Removes a child node from this residue.

Checks lock status and verifies the node is a backbone or side chain before removal.

Parameters:

  • node The child node to remove.

Returns:

true if the child was successfully removed; false otherwise.

Implements SBMStructuralModelNodeGroup::removeChild


function serialize#

Serializes the node.

virtual void SBMStructuralModelNodeResidue::serialize (
    SBCSerializer * serializer,
    const SBNodeIndexer & nodeIndexer,
    const SBVersionNumber & sdkVersionNumber=SB_SDK_VERSION_NUMBER,
    const SBVersionNumber & classVersionNumber=SBVersionNumber (1, 0, 0)
) override const

Serializes the residue node to a serializer.

Writes the residue's type, custom type string, and, if applicable, the hydrophobicity scale to the serializer.

Parameters:

  • serializer The serializer used to write the data.
  • nodeIndexer Provides node identifiers for serialization.
  • sdkVersionNumber The SDK version number for compatibility.
  • classVersionNumber The class version number for this object.

Implements SBMStructuralModelNodeGroup::serialize


function setHydrophobicityScale#

Sets the current hydrophobicity scale to hydrophobicityScale .

void SBMStructuralModelNodeResidue::setHydrophobicityScale (
    const HydrophobicityScale hydrophobicityScale
) 

Sets the hydrophobicity scale for this residue.

Parameters:

  • hydrophobicityScale The hydrophobicity scale to set.

Emits a structural event notifying listeners of the change.


function setHydrophobicityScaleCurrentIndex#

Sets the current hydrophobicity scale to the hydrophobicity scale from the list.

void SBMStructuralModelNodeResidue::setHydrophobicityScaleCurrentIndex (
    const int index
) 

Sets the current hydrophobicity scale by its index in the list of scales.

If the index is valid, the scale is updated.

Parameters:

  • index The zero-based index of the desired hydrophobicity scale.

function setName#

Sets the name of the residue, and updates accordingly names for its backbone and side chain.

virtual void SBMStructuralModelNodeResidue::setName (
    const std::string & name
) override

Sets the name of the residue and updates the names of its backbone and side chain.

The new name is applied to the residue; if present, the backbone and side chain names are updated accordingly.

Parameters:

  • n The new name for the residue.

Implements SBMStructuralModelNodeGroup::setName


function setResidueType [1/2]#

Sets the residue's type to residueType .

void SBMStructuralModelNodeResidue::setResidueType (
    ResidueType residueType
) 

Sets the residue type of this residue.

Updates the internal residue type to the specified value and notifies the structural model of the change.

Parameters:

  • t The new residue type to assign.

function setResidueType [2/2]#

Sets the residue's type based on the string s .

void SBMStructuralModelNodeResidue::setResidueType (
    const std::string & s
) 

Sets the residue type based on a string identifier.

Interprets the provided string as a residue type name and updates the residue accordingly. If the string does not correspond to a known type, the residue type is set to Undefined and the original string is stored.

Parameters:

  • s The string representation of the residue type.

function setSecondaryStructureType#

Sets the most probable secondary structure based on bonds parameters and residue geometry.

void SBMStructuralModelNodeResidue::setSecondaryStructureType (
    SecondaryStructureType type
) 

Sets the most probable secondary structure type for this residue.

Parameters:

  • type The secondary structure type to set.

Emits a structural event notifying listeners of the change.


function unserialize#

Unserializes the node.

virtual void SBMStructuralModelNodeResidue::unserialize (
    SBCSerializer * serializer,
    const SBNodeIndexer & nodeIndexer,
    const SBVersionNumber & sdkVersionNumber=SB_SDK_VERSION_NUMBER,
    const SBVersionNumber & classVersionNumber=SBVersionNumber (1, 0, 0)
) override

Deserializes the residue node from a serializer.

Reads the residue's type, custom type string, and hydrophobicity scale (if present) from the serializer, restoring the node's state.

Parameters:

  • serializer The serializer used to read the data.
  • nodeIndexer Provides node identifiers for deserialization.
  • sdkVersionNumber The SDK version number for compatibility.
  • classVersionNumber The class version number for this object.

Implements SBMStructuralModelNodeGroup::unserialize


function ~SBMStructuralModelNodeResidue#

Destructor.

virtual SBMStructuralModelNodeResidue::~SBMStructuralModelNodeResidue () 

Destroys the residue node and emits a deletion event.

Emits a NodeDeleteBegin event before the object is destroyed.


Public Static Functions Documentation#

function getAminoAcidOneLetterCode [2/2]#

Returns one letter code for the given amino acid residue type.

static std::string SBMStructuralModelNodeResidue::getAminoAcidOneLetterCode (
    const ResidueType residueType
) 

Returns the one-letter code of the amino acid residue residueType.

For nucleic acids and residues of type SBResidue::Undefined, the function returns "X".

Parameters:

  • residueType The type of the residue for which to retrieve the one-letter code.

Returns:

A string containing the one-letter code of the residue, or "X" for unknown or undefined types.


function getDissociationConstant1 [2/2]#

Returns the pKa1 value (the negative of the logarithm of the dissociation constant for the carboxyl functional group, -COOH) for the given residue type.

static double SBMStructuralModelNodeResidue::getDissociationConstant1 (
    const ResidueType residueType
) 

Returns the pKa1 value (the negative of the logarithm of the dissociation constant for the carboxyl functional group, -COOH) for the specified residue type.

Reference: D.R. Lide, Handbook of Chemistry and Physics, 72nd Edition, CRC Press, Boca Raton, FL, 1991.

Parameters:

  • residueType The type of the residue.

Returns:

The pKa1 value for the given residue type.


function getDissociationConstant2 [2/2]#

Returns the pKa2 value (the negative of the logarithm of the dissociation constant for the amino functional group, -NH3) for the given residue type.

static double SBMStructuralModelNodeResidue::getDissociationConstant2 (
    const ResidueType residueType
) 

Returns the pKa2 value (the negative of the logarithm of the dissociation constant for the amino functional group, -NH3) for the specified residue type.

Reference: D.R. Lide, Handbook of Chemistry and Physics, 72nd Edition, CRC Press, Boca Raton, FL, 1991.

Parameters:

  • residueType The type of the residue.

Returns:

The pKa2 value for the given residue type.


function getHydrophobicity [3/3]#

Returns the hydrophobicity value for the residue residueType in the hydrophobicity scalehydrophobicityScale .

static double SBMStructuralModelNodeResidue::getHydrophobicity (
    const ResidueType residueType,
    const HydrophobicityScale hydrophobicityScale
) 

Returns the hydrophobicity for the given residue type and hydrophobicity scale.

Parameters:

  • residueType The residue type.
  • hydrophobicityScale The hydrophobicity scale.

Returns:

The hydrophobicity value.


function getHydrophobicityScaleString [2/2]#

Returns the hydrophobicity scale hydrophobicityScale as a string.

static std::string SBMStructuralModelNodeResidue::getHydrophobicityScaleString (
    const HydrophobicityScale hydrophobicityScale
) 

Returns a string representation of the given hydrophobicity scale.

Parameters:

  • hydrophobicityScale The hydrophobicity scale.

Returns:

The name of the hydrophobicity scale.


function getIsoelectricPointPH [2/2]#

Returns the pI value (the pH at the isoelectric point) for the given residue type.

static double SBMStructuralModelNodeResidue::getIsoelectricPointPH (
    const ResidueType residueType
) 

Returns the pI value (the pH at the isoelectric point) for the specified residue type.

Parameters:

  • residueType The type of the residue.

Returns:

The pI value for the given residue type.

Reference: D.R. Lide, Handbook of Chemistry and Physics, 72nd Edition, CRC Press, Boca Raton, FL, 1991.


function getResidueTypeFromAminoAcidOneLetterCode#

Returns the amino acid residue type from the one letter code of the amino acid residue s .

static ResidueType SBMStructuralModelNodeResidue::getResidueTypeFromAminoAcidOneLetterCode (
    const std::string & s
) 

Returns the residue type corresponding to a given amino acid one-letter code.

The function accepts a string containing a single character representing the amino acid. If the string length is not 1, or the character does not correspond to a known amino acid, the function returns SBResidue::Undefined.

Parameters:

  • s A string containing a single character representing the amino acid one-letter code.

Returns:

The ResidueType corresponding to the given code, or SBResidue::Undefined if not recognized.


function getResidueTypeFromString#

Returns the residue type based on the string s .

static ResidueType SBMStructuralModelNodeResidue::getResidueTypeFromString (
    const std::string & s
) 

The input string can be a 3-letter code for amino acids and 1 or 2 letter code for nucleic acids.

Parameters:

  • s The string representation of the residue type.

Returns:

Residue type (SBResidue::ResidueType) that corresponds to the given string if found, else SBResidue::ResidueType::Undefined.


function getResidueTypeFullName [2/2]#

Returns the full name of the residue type residueType .

static std::string SBMStructuralModelNodeResidue::getResidueTypeFullName (
    ResidueType residueType
) 

Returns the full name of a residue type.

Provides a human‑readable description of the given residue type.

Parameters:

  • residueType The residue type for which to obtain the full name.

Returns:

The full name of the residue type as a string.


function getResidueTypeString [2/2]#

Returns the string representation of the residue type residueType .

static std::string SBMStructuralModelNodeResidue::getResidueTypeString (
    ResidueType residueType
) 

Returns the standard three-letter code for a given residue type.

Parameters:

  • residueType The residue type for which to obtain the string representation.

Returns:

The three-letter code corresponding to the residue type, or "Undefined" if the type is unknown.


function getSecondaryStructureTypeString [2/2]#

Returns the secondary structure type secondaryStructureType as a string.

static std::string SBMStructuralModelNodeResidue::getSecondaryStructureTypeString (
    SecondaryStructureType secondaryStructureType
) 

Returns the secondary structure type secondaryStructureType as a string:

  • "Alpha" for alpha helix
  • "Beta" for beta strand/sheet
  • "Unstructured" for unstructured/loop

Parameters:

  • secondaryStructureType The secondary structure type to convert to a string.

Returns:

The secondary structure type as a string: "Alpha", "Beta", or "Unstructured".


function getSideChainCharge [2/2]#

Returns the residue's side chain charge for the the given residue type.

static SideChainCharge SBMStructuralModelNodeResidue::getSideChainCharge (
    const ResidueType residueType
) 

Returns the side chain charge for the given residue type.

Parameters:

  • residueType The type of the residue

Returns:

The charge of the residue's residueType side chain at physiological pH 7.4

Reference: Cooper GM, Hausman RE (2004). The cell: a molecular approach. Washington, D.C: ASM Press. p. 51. ISBN 978-0-87893-214-6.


function getSideChainChargeString [2/2]#

Returns a string representation of the give side chain charge type.

static std::string SBMStructuralModelNodeResidue::getSideChainChargeString (
    const SideChainCharge sideChainCharge
) 

Returns a string representation of the side chain charge for the given residue type.

Parameters:

  • sideChainCharge The side chain charge value.

Returns:

Returns a string describing the specified side chain charge.

This static function converts a side chain charge enumeration value to its textual representation.


function getSideChainPolarity [2/2]#

Returns the residue's side chain polarity for the given residue type.

static SideChainPolarity SBMStructuralModelNodeResidue::getSideChainPolarity (
    const ResidueType residueType
) 

Returns the side chain polarity for the given residue type.

Parameters:

  • residueType The residue type for which to obtain the side chain polarity.

Returns:

The side chain polarity enumeration value.

Reference: Cooper GM, Hausman RE (2004). The cell: a molecular approach. Washington, D.C: ASM Press. p. 51. ISBN 978-0-87893-214-6.


function getSideChainPolarityString [2/2]#

Returns a string representation of the give side chain polarity type.

static std::string SBMStructuralModelNodeResidue::getSideChainPolarityString (
    const SideChainPolarity sideChainPolarity
) 

Returns a string representation of the specified side chain polarity.

Parameters:

  • sideChainPolarity The side chain polarity enumeration value.

Returns:

The corresponding string description.


function hasAminoAcidChi1Angle [2/2]#

Returns true if the residue typeresidueType is an amino acid and has chi1 angle.

static bool SBMStructuralModelNodeResidue::hasAminoAcidChi1Angle (
    const ResidueType residueType
) 

Returns true if the given residue type is an amino acid and has a chi1 angle.

Parameters:

  • residueType The residue type to check.

Returns:

true if the residue type has a chi1 angle; false otherwise.


function hasAminoAcidChi2Angle [2/2]#

Returns true if the residue typeresidueType is an amino acid and has chi2 angle.

static bool SBMStructuralModelNodeResidue::hasAminoAcidChi2Angle (
    const ResidueType residueType
) 

Returns true if the given residue type is an amino acid and has a chi2 angle.

Parameters:

  • residueType The residue type to check.

Returns:

true if the residue type has a chi2 angle; false otherwise.


function hasAminoAcidChi3Angle [2/2]#

Returns true if the residue typeresidueType is an amino acid and has chi3 angle.

static bool SBMStructuralModelNodeResidue::hasAminoAcidChi3Angle (
    const ResidueType residueType
) 

Returns true if the given residue type is an amino acid and has a chi3 angle.

Parameters:

  • residueType The residue type to check.

Returns:

true if the residue type has a chi3 angle; false otherwise.


function hasAminoAcidChi4Angle [2/2]#

Returns true if the residue typeresidueType is an amino acid and has chi4 angle.

static bool SBMStructuralModelNodeResidue::hasAminoAcidChi4Angle (
    const ResidueType residueType
) 

Returns true if the given residue type is an amino acid and has a chi4 angle.

Parameters:

  • residueType The residue type to check.

Returns:

true if the residue type has a chi4 angle; false otherwise.


function hasAminoAcidChi5Angle [2/2]#

Returns true if the residue typeresidueType is an amino acid and has chi5 angle.

static bool SBMStructuralModelNodeResidue::hasAminoAcidChi5Angle (
    const ResidueType residueType
) 

Returns true if the given residue type is an amino acid and has a chi5 angle.

Parameters:

  • residueType The residue type to check.

Returns:

true if the residue type has a chi5 angle; false otherwise.


function hasDissociationConstant [2/2]#

Returns true if the dissociation constants (pKa1, pKa2) and isoelectric point are defined for the given residue type.

static bool SBMStructuralModelNodeResidue::hasDissociationConstant (
    const ResidueType residueType
) 

Returns true if dissociation constants and isoelectric point are defined for the given residue type.

Parameters:

  • residueType The residue type to query.

Returns:

true if defined; false otherwise.


function hasHydrophobicity [2/2]#

Returns true if for the residue typeresidueType the hydrophobicity is defined.

static bool SBMStructuralModelNodeResidue::hasHydrophobicity (
    const ResidueType residueType
) 

Returns true if hydrophobicity is defined for the given residue type.

Parameters:

  • residueType The residue type to query.

Returns:

true if hydrophobicity is defined for the residue type; false otherwise.


function hasSideChainCharge [2/2]#

Returns true if for the given residue type the side chain charge is defined.

static bool SBMStructuralModelNodeResidue::hasSideChainCharge (
    const ResidueType residueType
) 

Returns true if the side chain charge is defined for the specified residue type.

This static function determines whether a side chain charge is defined for the given residue type.

Parameters:

  • residueType The type of the residue.

Returns:

true if the side chain charge is defined; false otherwise.


function hasSideChainPolarity [2/2]#

Returns true if for the given residue type the side chain polarity is defined.

static bool SBMStructuralModelNodeResidue::hasSideChainPolarity (
    const ResidueType residueType
) 

Returns whether side chain polarity is defined for the given residue type.

Parameters:

  • residueType The residue type.

Returns:

Returns true if the side chain polarity is defined for the specified residue type.

This static function determines whether a side chain polarity is defined for the given residue type.


function isAminoAcid [2/2]#

Returns true if and only if the residue ofresidueType is an amino acid.

static bool SBMStructuralModelNodeResidue::isAminoAcid (
    ResidueType residueType
) 

Determines whether the given residue type corresponds to an amino acid.

Parameters:

  • residueType The residue type to test.

Returns:

true if the residue type is an amino acid; otherwise false.


function isNucleicAcid [2/2]#

Returns true if and only if the residue ofresidueType is a nucleic acid.

static bool SBMStructuralModelNodeResidue::isNucleicAcid (
    ResidueType residueType
) 

Determines whether the given residue type corresponds to a nucleic acid.

Parameters:

  • residueType The residue type to test.

Returns:

true if the residue type is a nucleic acid; otherwise false.


function isStandardAminoAcidName#

Returns true if and only if the namename corresponds to one of the standard PDB amino acid residue names.

static bool SBMStructuralModelNodeResidue::isStandardAminoAcidName (
    const std::string & name
) 

Returns true if and only if the name s corresponds to one of the standard PDB amino acid residue names (3 letter code).

Checks whether the provided three-character string matches any of the standard amino-acid three-letter codes defined by the PDB.

Parameters:

  • s The residue name to test.

Returns:

true if s is a standard amino acid name, false otherwise.

See also: SBMStructuralModelNodeResidue::isStandardResidueName


function isStandardNucleicAcidName#

Returns true if and only if the namename corresponds to one of the standard PDB nucleic acid residue names.

static bool SBMStructuralModelNodeResidue::isStandardNucleicAcidName (
    const std::string & name
) 

Returns true if and only if the name s corresponds to one of the standard PDB nucleic acid residue names (1 or 2 letter code).

Checks whether the provided string (of length one or two) matches any of the standard nucleic-acid residue codes defined by the PDB.

Parameters:

  • s The residue name to test.

Returns:

true if s is a standard nucleic acid name, false otherwise.

See also: SBMStructuralModelNodeResidue::isStandardResidueName


function isStandardResidueName#

Returns true if and only if the namename corresponds to one of the standard PDB amino or nucleic acid residue names.

static bool SBMStructuralModelNodeResidue::isStandardResidueName (
    const std::string & name
) 

Returns true if and only if the name name corresponds to one of the standard PDB residue names: 3 letter code for amino acids, and 1 or 2 letter code for nucleic acids.

Parameters:

  • name The residue name to test.

Returns:

true if name is a standard residue name, false otherwise.

See also: SBMStructuralModelNodeResidue::isStandardAminoAcidName, SBMStructuralModelNodeResidue::isStandardNucleicAcidName