![]() |
Rosetta
2021.16
|
Kinematics Atom abstract base class. More...
#include <Atom_.hh>

Public Member Functions | |
| ~Atom_ () override | |
| Destructor. More... | |
| void | update_xyz_coords () override |
| update xyz position of this atom and its offspring atoms More... | |
| void | update_internal_coords (bool const recursive) override |
| update internal coords of this atom and its offspring atoms (if recursive) More... | |
| void | update_internal_coords (Stub &stub, bool const recursive=true) override |
| Update internal coordinates for this atom and possibly all children. More... | |
| bool | keep_dof_fixed (DOF_Type const ) const override |
| for DOFs which must be kept fixed due to topology of tree More... | |
| Real | dihedral_between_bonded_children (Atom const &child1, Atom const &child2) const override |
| dihedral angle between two bonded children to this atom More... | |
| void | show () const override |
| dump out AtomID for this atom, its parent and all its offspring More... | |
| void | show (int const &n_level) const override |
| dump out AtomID for this atom, its parent and all its offspring up to n_level More... | |
| void | update_domain_map (int ¤t_color, int &biggest_color, DomainMap &domain_map, AtomID_Mask const &dof_moved, AtomID_Mask const &atom_moved) const override |
| update domain map More... | |
| Atoms_ConstIterator | atoms_begin () const override |
| starting const iterator of the children atom list More... | |
| Atoms_ConstIterator | atoms_end () const override |
| ending const iterator of the children atom list More... | |
| Atoms_Iterator | atoms_begin () override |
| starting iterator of the children atom list More... | |
| Atoms_Iterator | atoms_end () override |
| ending iterator of the children atom list More... | |
| Size | n_atom () const override |
| number of children atoms More... | |
| void | append_atom (AtomOP) override |
| append an atom as this atom's child More... | |
| void | delete_atom (AtomOP) override |
| remove an atom from this atom's children More... | |
| void | insert_atom (AtomOP) override |
| insert an atom as this atom's child More... | |
| void | insert_atom (AtomOP, int const ) override |
| tries to insert at the position specified by the second argument More... | |
| void | replace_atom (AtomOP const old_atom, AtomOP const new_atom) override |
| replace the old atom by the new atom in the child atom list More... | |
| AtomCOP | get_nonjump_atom (Size const i) const override |
| get non-jump atom by its index from the children atoms list More... | |
| Size | n_children () const override |
| number of the child atoms More... | |
| Size | n_nonjump_children () const override |
| number of the non-jump child atoms More... | |
| AtomCOP | child (Size const k) const override |
| get a child atom by index (const method) More... | |
| AtomOP | child (Size const k) override |
| get a child atom by index More... | |
| Size | child_index (AtomCOP child) const override |
| the atom-index of this child More... | |
| Size | raw_child_index (Atom const *child) const override |
| the atom-index of this child More... | |
| bool | downstream (AtomCOP atom1) const override |
| whether atom1 is downstream of this atom. More... | |
| AtomID const & | id () const override |
| Atom identifier. More... | |
| void | id (AtomID const &id_in) override |
| AtomID assignment. More... | |
| AtomID const & | atom_id () const override |
| Atom identifier. More... | |
| Position const & | position () const override |
| Position. More... | |
| void | position (Position const &position_a) override |
| Position assignment. More... | |
| Position const & | xyz () const override |
| Position. More... | |
| void | xyz (Position const &position_a) override |
| Position assignment. More... | |
| Length const & | x () const override |
| x coordinate More... | |
| Length const & | y () const override |
| y coordinate More... | |
| Length const & | z () const override |
| z coordinate More... | |
| Length | distance (Atom const &atom) const override |
| Distance to an Atom. More... | |
| Length | distance_squared (Atom const &atom) const override |
| Distance squared to an Atom. More... | |
| AtomOP | parent () override |
| Parent atom pointer. More... | |
| AtomCOP | parent () const override |
| Parent atom pointer. More... | |
| void | parent (AtomAP parent_in) override |
| parent assignment More... | |
| Stub | get_stub () const override |
| stub centerd at this atom More... | |
| Stub | get_input_stub () const override |
| stub used to build this atom More... | |
| AtomID const & | stub_atom1_id () const override |
| stub atom1 's id More... | |
| AtomID const & | stub_atom2_id () const override |
| stub atom2's id More... | |
| AtomID const & | stub_atom3_id () const override |
| stub atom3's id More... | |
| AtomCOP | input_stub_atom0 () const override |
| the center of the input stub for refolding this atom More... | |
| AtomCOP | input_stub_atom1 () const override |
| the first atom to construct the input stub for refolding this atom More... | |
| AtomCOP | input_stub_atom2 () const override |
| the second atom to construct the input stub for refolding this atom More... | |
| AtomCOP | input_stub_atom3 () const override |
| the third atom to construct the input stub for refolding this atom More... | |
| AtomID const & | input_stub_atom0_id () const override |
| input stub atom0's id More... | |
| AtomID const & | input_stub_atom1_id () const override |
| input stub atom1's id More... | |
| AtomID const & | input_stub_atom2_id () const override |
| input stub atom2's id More... | |
| AtomID const & | input_stub_atom3_id () const override |
| input stub atom3's id More... | |
| AtomCOP | previous_sibling () const override |
| routines for navigating the tree find the sibling atom before itself More... | |
| AtomCOP | previous_child (AtomCOP child) const override |
| find the child atom before this child in the list More... | |
| AtomOP | next_child (AtomCOP child) override |
| find the child atom after this child in the list More... | |
| bool | stub_defined () const override |
| whether a Stub can be defined for this atom More... | |
| void | dfs (AtomDOFChangeSet &changeset, ResidueCoordinateChangeList &res_change_list, Size const start_atom_index) const override |
| base class implementation that traverses the subtree routed at this node in the depth-first traversal of the atoms requiring coordinate updates. More... | |
| Atom const * | raw_parent () const override |
| Rapid (increment-of-reference-count-avoiding) access to the parent atom pointer. More... | |
| Atom const * | raw_previous_sibling () const override |
| Rapid (increment-of-reference-count-avoiding) access to the previous sibling pointer, i.e. the first child in the parent's children list to precede this atom. More... | |
| Atom const * | raw_previous_child (Atom const *child) const override |
| Rapid (increment-of-reference-count-avoiding) access to the previous child pointer;. More... | |
| Atom const * | raw_input_stub_atom0 () const override |
| Rapid (increment-of-reference-count-avoiding) access to the 0th input stub atom;. More... | |
| Atom const * | raw_input_stub_atom1 () const override |
| Rapid (increment-of-reference-count-avoiding) access to the 1st input stub atom;. More... | |
| Atom const * | raw_input_stub_atom2 () const override |
| Rapid (increment-of-reference-count-avoiding) access to the 2nd input stub atom;. More... | |
| Atom const * | raw_input_stub_atom3 () const override |
| Rapid (increment-of-reference-count-avoiding) access to the 3rd input stub atom;. More... | |
| Atom const * | raw_get_nonjump_atom (Size const i) const override |
| Rapid (increment-of-reference-count-avoiding) access to the ith non-jump atom in this atom's list of children. More... | |
Public Member Functions inherited from core::kinematics::tree::Atom | |
| AtomCOP | get_self_ptr () const |
| AtomOP | get_self_ptr () |
| AtomCAP | get_self_weak_ptr () const |
| AtomAP | get_self_weak_ptr () |
| virtual void | update_xyz_coords (Stub &stub)=0 |
| update xyz coords from stub and internal coords and More... | |
| virtual void | update_internal_coords (std::deque< std::pair< Atom *, core::kinematics::Stub * > > *childlist, std::deque< core::kinematics::Stub > *stublist, Stub &stub)=0 |
| update internal coords from stub and xyz coords. More... | |
| virtual void | update_stub (Stub &stub) const =0 |
| update the stub without actually updating coordinates More... | |
| virtual void | copy_coords (Atom const &src)=0 |
| copy DOFs and xyz coords from src Atom More... | |
| virtual Real | dof (DOF_Type const type) const =0 |
| get dof More... | |
| virtual void | set_dof (DOF_Type const type, Real const value)=0 |
| set dof, use "set_" syntax since we have multiple dof's More... | |
| virtual void | set_dof (DOF_Type const type, Real const value, AtomDOFChangeSet &set)=0 |
| set dof, use "set_" syntax since we have multiple dof's – for use in output-sensitive refold routine More... | |
| virtual Jump const & | jump () const =0 |
| get Jump More... | |
| virtual void | jump (Jump const &jump_in)=0 |
| set Jump More... | |
| virtual void | jump (Jump const &jump_in, AtomDOFChangeSet &set)=0 |
| set Jump – for use in output-sensitive refolding More... | |
| virtual AtomOP | clone (AtomAP parent_in, AtomPointer2D &atom_pointer) const =0 |
| copy atom with new memory allocation More... | |
| virtual void | setup_min_map (DOF_ID &last_torsion, DOF_ID_Mask const &move_map, MinimizerMapBase &min_map) const =0 |
| virtual void | get_dof_axis_and_end_pos (Vector &axis, Position &end_pos, DOF_Type const type) const =0 |
| virtual bool | is_jump () const =0 |
| atom is a jump atom? More... | |
| virtual bool | keep_1st_child_pos () const =0 |
| when other atoms are inserted insert after 1st child if available. –> this enables us to keep a stub of Downstream Jump atoms inside a single residue More... | |
| virtual void | steal_inversion (AtomOP)=0 |
| virtual AtomCOP | stub_atom1 () const =0 |
| virtual AtomCOP | stub_atom2 () const =0 |
| virtual AtomCOP | stub_atom3 () const =0 |
| virtual Atom const * | raw_stub_atom1 () const =0 |
| Rapid (increment-of-reference-count-avoiding) access to the fist stub atom. More... | |
| virtual Atom const * | raw_stub_atom2 () const =0 |
| Rapid (increment-of-reference-count-avoiding) access to the second stub atom. More... | |
| virtual Atom const * | raw_stub_atom3 () const =0 |
| Rapid (increment-of-reference-count-avoiding) access to the third stub atom. More... | |
Protected Member Functions | |
| Atom_ () | |
| Default constructor. More... | |
| Atom_ (Atom_ const &atom) | |
| Copy constructor. More... | |
| Atom_ & | operator= (Atom_ const &atom) |
| Copy assignment. More... | |
| void | update_child_torsions (AtomOP const child) override |
| when subtrees have changed their coordinates More... | |
| Atoms_ConstIterator | nonjump_atoms_begin () const override |
| constant iterator of the first non-jump (bonded) atom in the vector of children atoms. More... | |
| Atoms_Iterator | nonjump_atoms_begin () override |
| iterator of the first non-jump (bonded) atom in the vector of children atoms. More... | |
| void | abort_bad_call () const |
| helper function to abort if something is wrong in atom tree More... | |
| void | transform_Ax_plus_b_recursive (Matrix const &A, Vector const &b, ResidueCoordinateChangeList &res_change_list) override |
| Transform atom and children by linear transformation. More... | |
| void | get_path_from_root (utility::vector1< AtomCAP > &path) const override |
| bool | atom_is_on_path_from_root (AtomCOP atm) const override |
| void | note_dof_change (AtomDOFChangeSet &changset) |
| Records this atom as having a changed DOF in the input list of Atoms with changed DOFs. For use in output-sensitive refold subroutine. More... | |
| void | note_xyz_uptodate () |
| To ensure proper function of the output-senstive refold subroutine, derived classes must invoke this function during their update_xyz_coord subroutines. More... | |
| Size | dof_refold_index () const |
| read access for derived classes More... | |
Protected Member Functions inherited from core::kinematics::tree::Atom | |
| Atom ()=default | |
| Default constructor. More... | |
| Atom & | operator= (Atom const &)=default |
| Copy assignment. More... | |
Protected Attributes | |
| AtomID | atom_id_ |
| Atom ID. More... | |
| AtomAP | parent_ |
| Associated conformation Atom. More... | |
| Atom * | raw_parent_ |
| Workaround copy of the parent pointer for use in functions where locking and unlocking the parent_ pointer would be prohibitively slow. More... | |
| PointPosition | position_ |
| xyz More... | |
| Atoms | atoms_ |
| Children atom pointers. More... | |
Private Types | |
| typedef Atom | Super |
Private Attributes | |
| Size | dof_refold_index_ |
| Track my position in my owner's list of Atoms with modified DOFs. 0 when my dofs have not changed since the last update_coords. More... | |
Additional Inherited Members | |
Public Types inherited from core::kinematics::tree::Atom | |
| typedef PointPosition | Position |
| typedef utility::vector0< AtomOP > | Atoms |
| typedef Atoms::ConstIterator | Atoms_ConstIterator |
| typedef Atoms::Iterator | Atoms_Iterator |
| typedef numeric::xyzMatrix< Real > | Matrix |
| typedef id::DOF_Type | DOF_Type |
| typedef id::DOF_ID | DOF_ID |
| typedef id::AtomID | AtomID |
| typedef id::AtomID_Mask | AtomID_Mask |
| typedef id::DOF_ID_Mask | DOF_ID_Mask |
| typedef void | iterator_category |
| typedef void | difference_type |
Kinematics Atom abstract base class.
|
private |
|
inlineprotected |
Default constructor.
References atoms_.
|
inlineprotected |
|
inlineoverride |
Destructor.
|
protected |
helper function to abort if something is wrong in atom tree
Referenced by core::kinematics::tree::BondedAtom::jump().
|
overridevirtual |
append an atom as this atom's child
if the child atom is a jump atom, put it before all the non-jump children atoms but after all the children jump atoms. Otherwise, put it at the end of the children atom list.
Implements core::kinematics::tree::Atom.
References atoms_, core::kinematics::tree::Atom::get_self_weak_ptr(), and nonjump_atoms_begin().
|
inlineoverridevirtual |
Atom identifier.
Implements core::kinematics::tree::Atom.
References atom_id_.
Referenced by core::kinematics::tree::BondedAtom::copy_coords(), get_input_stub(), and get_stub().
|
overrideprotectedvirtual |
Implements core::kinematics::tree::Atom.
|
inlineoverridevirtual |
starting const iterator of the children atom list
Implements core::kinematics::tree::Atom.
References atoms_.
Referenced by core::kinematics::tree::JumpAtom::clone(), core::kinematics::tree::BondedAtom::clone(), core::kinematics::tree::JumpAtom::copy_coords(), core::kinematics::tree::BondedAtom::copy_coords(), dfs(), core::kinematics::tree::JumpAtom::setup_min_map(), core::kinematics::tree::BondedAtom::setup_min_map(), core::kinematics::tree::JumpAtom::update_internal_coords(), core::kinematics::tree::BondedAtom::update_internal_coords(), core::kinematics::tree::JumpAtom::update_xyz_coords(), and core::kinematics::tree::BondedAtom::update_xyz_coords().
|
inlineoverridevirtual |
starting iterator of the children atom list
Implements core::kinematics::tree::Atom.
References atoms_.
|
inlineoverridevirtual |
ending const iterator of the children atom list
Implements core::kinematics::tree::Atom.
References atoms_.
Referenced by core::kinematics::tree::JumpAtom::clone(), core::kinematics::tree::BondedAtom::clone(), core::kinematics::tree::JumpAtom::copy_coords(), core::kinematics::tree::BondedAtom::copy_coords(), dfs(), dihedral_between_bonded_children(), n_nonjump_children(), core::kinematics::tree::JumpAtom::setup_min_map(), core::kinematics::tree::BondedAtom::setup_min_map(), core::kinematics::tree::JumpAtom::update_internal_coords(), core::kinematics::tree::BondedAtom::update_internal_coords(), core::kinematics::tree::JumpAtom::update_xyz_coords(), and core::kinematics::tree::BondedAtom::update_xyz_coords().
|
inlineoverridevirtual |
ending iterator of the children atom list
Implements core::kinematics::tree::Atom.
References atoms_.
get a child atom by index (const method)
Implements core::kinematics::tree::Atom.
References atoms_.
Referenced by delete_atom(), downstream(), next_child(), previous_child(), raw_child_index(), and raw_previous_child().
the atom-index of this child
the atom-index of this child
Implements core::kinematics::tree::Atom.
References atoms_.
|
overridevirtual |
remove an atom from this atom's children
only unlink the child atom from this atom (parent). No recursive operation or freeing memory( use Atom_::erase() to free up memory for an atom and all its children
Implements core::kinematics::tree::Atom.
|
overridevirtual |
base class implementation that traverses the subtree routed at this node in the depth-first traversal of the atoms requiring coordinate updates.
the "start atom index" is used to determine which subtrees have already been examined. The atom tree guarantees that the dfs's occur in increasing order by dof refold indices. If this atom has a dof refold index less than the start atom index, then a dfs has previously been launched from this node and the recursion must stop: subtrees must be visited at most once, or running time grows quadratically in the number of atoms in the tree. The atom is responsible for handing the start atom index down to its children in the recursion (if it continues recursing).
Implements core::kinematics::tree::Atom.
Reimplemented in core::kinematics::tree::BondedAtom, and core::kinematics::tree::JumpAtom.
References atom_id_, atoms_, atoms_begin(), atoms_end(), dof_refold_index_, and core::kinematics::ResidueCoordinateChangeList::mark_residue_moved().
Referenced by core::kinematics::tree::JumpAtom::dfs(), and core::kinematics::tree::BondedAtom::dfs().
|
overridevirtual |
dihedral angle between two bonded children to this atom
the improper dihedral from child1 to child2 about my x-axis (ie, axis defined by me and my parent for nonjump atoms). Since phi_ for a non-first branched atom is defined as the improper angle offset with respect to its previous sibling, we just need to add up all the offsets between them.
Implements core::kinematics::tree::Atom.
References atoms_end(), core::kinematics::tree::Atom::is_jump(), nonjump_atoms_begin(), core::chemical::rings::PHI, and core::kinematics::tree::Atom::raw_parent().
Distance to an Atom.
Implements core::kinematics::tree::Atom.
References core::kinematics::tree::Atom::position(), and position_.
|
inlineoverridevirtual |
Distance squared to an Atom.
Implements core::kinematics::tree::Atom.
References core::kinematics::tree::Atom::position(), and position_.
|
inlineprotected |
read access for derived classes
References dof_refold_index_.
Referenced by core::kinematics::tree::BondedAtom::dfs().
whether atom1 is downstream of this atom.
Implements core::kinematics::tree::Atom.
References child(), and n_children().
|
overridevirtual |
stub used to build this atom
the stub that is passed to me during folding, which is normally the stub centered at the parent atom.
Implements core::kinematics::tree::Atom.
References atom_id(), core::kinematics::default_stub, input_stub_atom0(), input_stub_atom1(), input_stub_atom1_id(), input_stub_atom2(), input_stub_atom2_id(), input_stub_atom3(), input_stub_atom3_id(), parent_, position(), and core::kinematics::tree::TR().
Referenced by core::kinematics::tree::JumpAtom::get_dof_axis_and_end_pos(), core::kinematics::tree::BondedAtom::get_dof_axis_and_end_pos(), show(), update_internal_coords(), core::kinematics::tree::JumpAtom::update_xyz_coords(), core::kinematics::tree::BondedAtom::update_xyz_coords(), and update_xyz_coords().
get non-jump atom by its index from the children atoms list
returns 0 if atom doesnt exist
Implements core::kinematics::tree::Atom.
References atoms_, and nonjump_atoms_begin().
Referenced by core::kinematics::tree::JumpAtom::stub_atom2(), core::kinematics::tree::JumpAtom::stub_atom3(), and stub_defined().
|
overrideprotectedvirtual |
Implements core::kinematics::tree::Atom.
References core::kinematics::tree::Atom::get_self_weak_ptr(), parent(), and parent_.
|
overridevirtual |
stub centerd at this atom
my stub is center at myself. Normally for bonded atom, X direction is from my parent to me; Z direction is perpendicular to the plane defined by myself, my parent and my parent's parent
Implements core::kinematics::tree::Atom.
References atom_id(), input_stub_atom1(), input_stub_atom1_id(), input_stub_atom2(), input_stub_atom2_id(), input_stub_atom3(), input_stub_atom3_id(), position(), core::kinematics::tree::Atom::stub_atom1(), core::kinematics::tree::Atom::stub_atom2(), core::kinematics::tree::Atom::stub_atom3(), and core::kinematics::tree::TR().
Referenced by core::kinematics::tree::JumpAtom::get_dof_axis_and_end_pos(), core::kinematics::tree::BondedAtom::get_dof_axis_and_end_pos(), show(), update_child_torsions(), and core::kinematics::tree::JumpAtom::update_internal_coords().
|
inlineoverridevirtual |
Atom identifier.
Implements core::kinematics::tree::Atom.
References atom_id_.
Referenced by core::kinematics::tree::JumpAtom::clone(), core::kinematics::tree::BondedAtom::clone(), core::kinematics::tree::JumpAtom::copy_coords(), and core::kinematics::tree::BondedAtom::keep_dof_fixed().
|
inlineoverridevirtual |
|
inlineoverridevirtual |
the center of the input stub for refolding this atom
it is its parent
Implements core::kinematics::tree::Atom.
References parent().
Referenced by get_input_stub().
|
inlineoverridevirtual |
input stub atom0's id
Implements core::kinematics::tree::Atom.
References core::kinematics::tree::Atom::id(), and raw_input_stub_atom0().
|
inlineoverridevirtual |
the first atom to construct the input stub for refolding this atom
it is its parent's stub_atom1, which normally the parent itself
Implements core::kinematics::tree::Atom.
References parent().
Referenced by get_input_stub(), and get_stub().
|
inlineoverridevirtual |
input stub atom1's id
Implements core::kinematics::tree::Atom.
References core::kinematics::tree::Atom::id(), and raw_input_stub_atom1().
Referenced by get_input_stub(), and get_stub().
|
inlineoverridevirtual |
the second atom to construct the input stub for refolding this atom
it is its parent's stub_atom2, which normally the parent's parent
Implements core::kinematics::tree::Atom.
References parent().
Referenced by get_input_stub(), and get_stub().
|
inlineoverridevirtual |
input stub atom2's id
Implements core::kinematics::tree::Atom.
References core::kinematics::tree::Atom::id(), and raw_input_stub_atom2().
Referenced by get_input_stub(), and get_stub().
|
inlineoverridevirtual |
the third atom to construct the input stub for refolding this atom
it is either its previous sibling or its parent's stub_atom3,
Implements core::kinematics::tree::Atom.
References core::kinematics::tree::is_collinear(), core::kinematics::tree::Atom::is_jump(), parent(), and previous_sibling().
Referenced by get_input_stub(), get_stub(), and input_stub_atom3_id().
|
inlineoverridevirtual |
input stub atom3's id
Implements core::kinematics::tree::Atom.
References input_stub_atom3().
Referenced by get_input_stub(), and get_stub().
|
overridevirtual |
insert an atom as this atom's child
if the child atom is a jump atom, put it before all jump children atoms; otherwise, put it before all non-jump children atoms; Different from Atom_::append_atom in that it put the new child atom before instead after the other existing child atoms.
Implements core::kinematics::tree::Atom.
References atoms_, core::kinematics::tree::Atom::get_self_weak_ptr(), and nonjump_atoms_begin().
|
overridevirtual |
tries to insert at the position specified by the second argument
insert the child atom in a specified position. If the specified postion is out of range, put it either at the beginning or the end of the child atom list. note that jump child atoms are always listed before non-jump atoms and the index must be a non-negative integer.
Implements core::kinematics::tree::Atom.
References atoms_, core::kinematics::tree::Atom::get_self_weak_ptr(), and nonjump_atoms_begin().
for DOFs which must be kept fixed due to topology of tree
eg, phi of stub_atoms for jump_atoms
Reimplemented from core::kinematics::tree::Atom.
Reimplemented in core::kinematics::tree::BondedAtom, and core::kinematics::tree::JumpAtom.
|
inlineoverridevirtual |
|
overridevirtual |
number of the child atoms
Implements core::kinematics::tree::Atom.
References atoms_.
Referenced by core::kinematics::tree::JumpAtom::copy_coords(), core::kinematics::tree::BondedAtom::copy_coords(), and downstream().
|
inlineoverridevirtual |
number of the non-jump child atoms
Implements core::kinematics::tree::Atom.
References atoms_end(), and nonjump_atoms_begin().
find the child atom after this child in the list
return 0 if the input child is the last child in the list
Implements core::kinematics::tree::Atom.
|
overrideprotectedvirtual |
constant iterator of the first non-jump (bonded) atom in the vector of children atoms.
Implements core::kinematics::tree::Atom.
References atoms_.
Referenced by append_atom(), dihedral_between_bonded_children(), get_nonjump_atom(), insert_atom(), n_nonjump_children(), and raw_get_nonjump_atom().
|
overrideprotectedvirtual |
iterator of the first non-jump (bonded) atom in the vector of children atoms.
Implements core::kinematics::tree::Atom.
References atoms_.
|
protected |
Records this atom as having a changed DOF in the input list of Atoms with changed DOFs. For use in output-sensitive refold subroutine.
Records this atom as an atom with one-or-more changed dofs in the input AtomDOFChangeSet if this is first DOF on this atom to change; if it is not the first DOF on this atom that has changed, then this atom is already in set and this atom is recorded at position dof_refold_index_.
References atom_id_, and dof_refold_index_.
Referenced by core::kinematics::tree::JumpAtom::jump(), core::kinematics::tree::JumpAtom::set_dof(), and core::kinematics::tree::BondedAtom::set_dof().
|
inlineprotected |
To ensure proper function of the output-senstive refold subroutine, derived classes must invoke this function during their update_xyz_coord subroutines.
References dof_refold_index_.
Referenced by core::kinematics::tree::JumpAtom::update_xyz_coords(), and core::kinematics::tree::BondedAtom::update_xyz_coords().
Copy assignment.
References dof_refold_index_, and position_.
Referenced by core::kinematics::tree::JumpAtom::copy_coords(), and core::kinematics::tree::BondedAtom::copy_coords().
|
inlineoverridevirtual |
Parent atom pointer.
Implements core::kinematics::tree::Atom.
References parent_.
Referenced by atom_is_on_path_from_root(), core::kinematics::tree::BondedAtom::dfs(), get_path_from_root(), input_stub_atom0(), input_stub_atom1(), input_stub_atom2(), input_stub_atom3(), core::kinematics::tree::JumpAtom::keep_dof_fixed(), core::kinematics::tree::BondedAtom::keep_dof_fixed(), previous_sibling(), core::kinematics::tree::JumpAtom::set_dof(), core::kinematics::tree::JumpAtom::setup_min_map(), show(), core::kinematics::tree::JumpAtom::stub_atom1(), core::kinematics::tree::JumpAtom::stub_atom2(), core::kinematics::tree::BondedAtom::stub_atom2(), core::kinematics::tree::JumpAtom::stub_atom3(), core::kinematics::tree::BondedAtom::stub_atom3(), and core::kinematics::tree::BondedAtom::update_xyz_coords().
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Position.
Implements core::kinematics::tree::Atom.
References position_.
Referenced by core::kinematics::tree::JumpAtom::clone(), core::kinematics::tree::BondedAtom::clone(), get_input_stub(), get_stub(), core::kinematics::tree::BondedAtom::update_internal_coords(), core::kinematics::tree::JumpAtom::update_xyz_coords(), and core::kinematics::tree::BondedAtom::update_xyz_coords().
|
inlineoverridevirtual |
find the child atom before this child in the list
return 0 if the input child is the first child in the list
Implements core::kinematics::tree::Atom.
|
overridevirtual |
routines for navigating the tree find the sibling atom before itself
call parent's previous_child method to get its previous sibling; return 0 if no parent is present.
Implements core::kinematics::tree::Atom.
References core::kinematics::tree::Atom::get_self_ptr(), and parent().
Referenced by input_stub_atom3().
the atom-index of this child
Implements core::kinematics::tree::Atom.
References atoms_, child(), and core::kinematics::tree::Atom::raw_parent().
|
overridevirtual |
Rapid (increment-of-reference-count-avoiding) access to the ith non-jump atom in this atom's list of children.
Implements core::kinematics::tree::Atom.
References atoms_, and nonjump_atoms_begin().
Referenced by core::kinematics::tree::JumpAtom::raw_stub_atom2(), and core::kinematics::tree::JumpAtom::raw_stub_atom3().
|
overridevirtual |
Rapid (increment-of-reference-count-avoiding) access to the 0th input stub atom;.
Implements core::kinematics::tree::Atom.
References raw_parent().
Referenced by input_stub_atom0_id().
|
overridevirtual |
Rapid (increment-of-reference-count-avoiding) access to the 1st input stub atom;.
Implements core::kinematics::tree::Atom.
References raw_parent(), and core::kinematics::tree::Atom::raw_stub_atom1().
Referenced by input_stub_atom1_id().
|
overridevirtual |
Rapid (increment-of-reference-count-avoiding) access to the 2nd input stub atom;.
Implements core::kinematics::tree::Atom.
References raw_parent(), and core::kinematics::tree::Atom::raw_stub_atom2().
Referenced by input_stub_atom2_id().
|
overridevirtual |
Rapid (increment-of-reference-count-avoiding) access to the 3rd input stub atom;.
Implements core::kinematics::tree::Atom.
References core::kinematics::tree::Atom::id(), core::kinematics::tree::is_collinear(), core::kinematics::tree::Atom::is_jump(), raw_parent(), raw_previous_sibling(), core::kinematics::tree::Atom::raw_stub_atom1(), core::kinematics::tree::Atom::raw_stub_atom2(), core::kinematics::tree::Atom::raw_stub_atom3(), and core::kinematics::tree::Atom::stub_atom2_id().
|
overridevirtual |
Rapid (increment-of-reference-count-avoiding) access to the parent atom pointer.
Implements core::kinematics::tree::Atom.
References raw_parent_.
Referenced by raw_input_stub_atom0(), raw_input_stub_atom1(), raw_input_stub_atom2(), raw_input_stub_atom3(), core::kinematics::tree::JumpAtom::raw_stub_atom1(), core::kinematics::tree::JumpAtom::raw_stub_atom2(), core::kinematics::tree::BondedAtom::raw_stub_atom2(), core::kinematics::tree::JumpAtom::raw_stub_atom3(), and core::kinematics::tree::BondedAtom::raw_stub_atom3().
|
overridevirtual |
Rapid (increment-of-reference-count-avoiding) access to the previous child pointer;.
Implements core::kinematics::tree::Atom.
|
overridevirtual |
Rapid (increment-of-reference-count-avoiding) access to the previous sibling pointer, i.e. the first child in the parent's children list to precede this atom.
Implements core::kinematics::tree::Atom.
References raw_parent_, and core::kinematics::tree::Atom::raw_previous_child().
Referenced by raw_input_stub_atom3().
|
overridevirtual |
replace the old atom by the new atom in the child atom list
old atom and new atom need to belong to the same type ( either both jump atoms or both non-jump atoms. New atom is inserted at the position of old atom.
Implements core::kinematics::tree::Atom.
References atoms_, core::kinematics::tree::Atom::get_self_weak_ptr(), and core::kinematics::tree::TR().
|
overridevirtual |
dump out AtomID for this atom, its parent and all its offspring
first this atom, then its parent and then recursively all its children
Implements core::kinematics::tree::Atom.
|
overridevirtual |
dump out AtomID for this atom, its parent and all its offspring up to n_level
first this atom, then its parent and then recursively all its children up to n_level
Implements core::kinematics::tree::Atom.
References atom_id_, atoms_, core::chemical::element::F, get_input_stub(), get_stub(), parent(), core::kinematics::tree::TR(), x(), y(), and z().
|
inlineoverridevirtual |
stub atom1 's id
Implements core::kinematics::tree::Atom.
References core::kinematics::tree::Atom::stub_atom1().
|
inlineoverridevirtual |
stub atom2's id
Implements core::kinematics::tree::Atom.
References core::kinematics::tree::Atom::id(), and core::kinematics::tree::Atom::raw_stub_atom2().
|
inlineoverridevirtual |
stub atom3's id
Implements core::kinematics::tree::Atom.
References core::kinematics::tree::Atom::stub_atom3().
|
overridevirtual |
whether a Stub can be defined for this atom
Implements core::kinematics::tree::Atom.
References get_nonjump_atom(), and core::kinematics::tree::Atom::is_jump().
Referenced by core::kinematics::tree::JumpAtom::raw_stub_atom1(), core::kinematics::tree::JumpAtom::raw_stub_atom2(), core::kinematics::tree::JumpAtom::raw_stub_atom3(), core::kinematics::tree::JumpAtom::stub_atom1(), core::kinematics::tree::JumpAtom::stub_atom2(), and core::kinematics::tree::JumpAtom::stub_atom3().
|
overrideprotectedvirtual |
Transform atom and children by linear transformation.
Keep track of any residue that moves so that the Conformation object may be correctly updated.
Implements core::kinematics::tree::Atom.
References atom_id_, atoms_, protocols::match::upstream::b, core::kinematics::ResidueCoordinateChangeList::mark_residue_moved(), and position_.
|
overrideprotectedvirtual |
when subtrees have changed their coordinates
the coordinates of the atom "*child" – one of my children – have changed. This routine updates the torsions to reflect this. Useful if we have just repacked or rotamer-trialed, ie sidechain atoms_ have moved but the backbone is still the same, more efficient than calling update_internal_coords on the entire tree...
Implements core::kinematics::tree::Atom.
References atom_id_, atoms_, and get_stub().
|
overridevirtual |
update domain map
update domain map for this atom and all its offspring consider this like a graph coloring problem. we are recursively (depth-first) assigning a color to each atom.
Implements core::kinematics::tree::Atom.
References atom_id_, atoms_, and core::kinematics::tree::Atom::is_jump().
|
overridevirtual |
update internal coords of this atom and its offspring atoms (if recursive)
get the input stub for building this atom first
Implements core::kinematics::tree::Atom.
References get_input_stub().
Referenced by update_internal_coords().
|
overridevirtual |
Update internal coordinates for this atom and possibly all children.
If recursive is true, we update children, grandchildren, great-grandchildren, etc., but we don't use a recursive algorithm.
Implements core::kinematics::tree::Atom.
References core::id::swap(), and update_internal_coords().
|
overridevirtual |
update xyz position of this atom and its offspring atoms
get the input stub for building this atom first
Implements core::kinematics::tree::Atom.
Reimplemented in core::kinematics::tree::BondedAtom, and core::kinematics::tree::JumpAtom.
References get_input_stub().
|
inlineoverridevirtual |
x coordinate
Implements core::kinematics::tree::Atom.
References position_.
Referenced by show(), and core::kinematics::tree::BondedAtom::update_internal_coords().
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
y coordinate
Implements core::kinematics::tree::Atom.
References position_.
Referenced by show(), and core::kinematics::tree::BondedAtom::update_internal_coords().
|
inlineoverridevirtual |
z coordinate
Implements core::kinematics::tree::Atom.
References position_.
Referenced by show(), and core::kinematics::tree::BondedAtom::update_internal_coords().
|
protected |
Atom ID.
Referenced by atom_id(), dfs(), id(), note_dof_change(), show(), transform_Ax_plus_b_recursive(), update_child_torsions(), and update_domain_map().
|
protected |
Children atom pointers.
Referenced by append_atom(), Atom_(), atoms_begin(), atoms_end(), child(), child_index(), delete_atom(), dfs(), get_nonjump_atom(), insert_atom(), n_atom(), n_children(), next_child(), nonjump_atoms_begin(), previous_child(), raw_child_index(), raw_get_nonjump_atom(), raw_previous_child(), replace_atom(), show(), transform_Ax_plus_b_recursive(), update_child_torsions(), and update_domain_map().
|
private |
Track my position in my owner's list of Atoms with modified DOFs. 0 when my dofs have not changed since the last update_coords.
Referenced by dfs(), dof_refold_index(), note_dof_change(), note_xyz_uptodate(), and operator=().
|
protected |
Associated conformation Atom.
Parent atom pointer
Referenced by atom_is_on_path_from_root(), core::kinematics::tree::BondedAtom::dfs(), get_input_stub(), get_path_from_root(), core::kinematics::tree::BondedAtom::keep_dof_fixed(), parent(), and core::kinematics::tree::BondedAtom::update_xyz_coords().
|
protected |
xyz
Referenced by distance(), distance_squared(), operator=(), position(), transform_Ax_plus_b_recursive(), x(), xyz(), y(), and z().
|
protected |
Workaround copy of the parent pointer for use in functions where locking and unlocking the parent_ pointer would be prohibitively slow.
Referenced by parent(), raw_parent(), and raw_previous_sibling().
1.8.7