Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

BTK::BuildableMonomer< AtomType > Class Template Reference

a class that implements the buildable concept for monomers More...

#include <buildable_monomer.h>

Inheritance diagram for BTK::BuildableMonomer< AtomType >:

Inheritance graph
[legend]
Collaboration diagram for BTK::BuildableMonomer< AtomType >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef self_type buildable_monomer_types
typedef std::map< ATOM::index_t,
pointer
atom_index_map_t
typedef pattern_t::types::monomer_atom_idx_t monomer_atom_idx_t
typedef std::set< GROUP_VARIANT::index_tgroup_variant_container_t
typedef base_type::value_type value_type
typedef base_type::reference reference
typedef base_type::const_reference const_reference
typedef base_type::pointer pointer
typedef base_type::const_pointer const_pointer
typedef base_type::size_type size_type
typedef base_type::iterator iterator
typedef base_type::const_iterator const_iterator
typedef value_type atom_type
typedef iterator atom_iterator
typedef const_iterator const_atom_iterator

Public Member Functions

 BuildableMonomer (const BuildableMonomerFamilyPattern &family_pattern)
 minimal ctor

template<typename AtomIterator>  BuildableMonomer (AtomIterator first, AtomIterator last, self_type *prev_monomer, self_type *next_monomer, const AtomGroupConcept::group_variant_container_t &modifiers, const BuildableMonomerFamilyPattern &family_pattern)
 construct a monomer from an atom iterator

 BuildableMonomer (const self_type &source)
template<typename T2>  BuildableMonomer (const BuildableMonomer< T2 > &source)
self_typeoperator= (const self_type &rhs)
template<typename T2> self_typeoperator= (const BuildableMonomer< T2 > &rhs)
virtual GROUP::index_t group_index () const
virtual const AtomGroupConcept::group_variant_container_tgroup_variants () const
virtual const std::string & group_name3 () const
virtual char group_name1 () const
void insert_group_variant (GROUP_VARIANT::index_t v)
void erase_group_variant (GROUP_VARIANT::index_t v)
double torsion_angle (TORSION::index_t t) const
void set_torsion_angle (TORSION::index_t t, double angle)
virtual bool build_atom (const ATOM::index_t atom_index, bool is_bootstrap)
 attempt to build the atom indexed by atom_index

virtual int group_num () const
void set_group_num (int x)
virtual const AtomGroupConcept::group_variant_container_tgroup_variant_codes () const
size_type size () const
 Replication of std::vector function (see std::vector documentation).

iterator begin ()
const_iterator begin () const
iterator end ()
const_iterator end () const
reference operator[] (size_type i)
const_reference operator[] (size_type i) const
reference front ()
const_reference front () const
reference back ()
const_reference back () const
Relative monomer atom lookup functions
reference atom (monomer_atom_idx_t ma)
 Lookup an atom from this monomer or a relative monomer.

const_reference atom (monomer_atom_idx_t ma) const
 Lookup an atom from this monomer or a relative monomer.

Atom lookup functions
reference atom (ATOM::index_t atom_index)
 Lookup an atom from this monomer.

const_reference atom (ATOM::index_t atom_index) const
 Lookup an atom from this monomer.

Special 'atom_' versions of std::vector functions
size_type atom_size () const
 atom versions of std::vector function names

atom_iterator atom_begin ()
 atom versions of std::vector function names

const_atom_iterator atom_begin () const
 atom versions of std::vector function names

atom_iterator atom_end ()
 atom versions of std::vector function names

const_atom_iterator atom_end () const
 atom versions of std::vector function names

reference atom (size_type i)
 atom versions of std::vector function names

const_reference atom (size_type i) const
 atom versions of std::vector function names

reference atom_back ()
 atom versions of std::vector function names

const_reference atom_back () const
 atom versions of std::vector function names

reference atom_front ()
 atom versions of std::vector function names

const_reference atom_front () const
 atom versions of std::vector function names


Protected Member Functions

void clear ()
 Replication of std::vector function (see std::vector documentation).

void resize (size_type s)
void reserve (size_type s)
void push_back (const value_type &x)
iterator insert (iterator pos, const value_type &x)
void insert (iterator pos, size_type s, const value_type &x)
void insert (iterator pos, InputIterator first, InputIterator last)
iterator erase (iterator pos)
iterator erase (iterator first, iterator last)
void shallow_push_back (value_type *x)
void shallow_insert (iterator pos, const_iterator first, const_iterator last)
void deep_copy (const SharedVectorBase< T2 > &source)
void shallow_copy (const self_type &source)

Detailed Description

template<typename AtomType>
class BTK::BuildableMonomer< AtomType >

a class that implements the buildable concept for monomers

This class serves as the base to peptide and nucleotide classes, but is not abstract. It's constructor takes a "Pattern" class argument which contains all of the data necessary to implement the pattern's build properties. The derived classes are simply more convenient.

Note that a lot of the code here is expected to work it's way up to a more general "BuildableGroupConcept" sort of class which can be shared with other buildable objects -- such as BuildableMolecules (which will handle ligands and heme groups, etc)


Member Typedef Documentation

template<typename AtomType>
typedef std::map<ATOM::index_t,pointer> BTK::BuildableMonomer< AtomType >::atom_index_map_t
 

template<typename AtomType>
typedef iterator BTK::BuildableMonomer< AtomType >::atom_iterator
 

Reimplemented from BTK::Monomer< AtomType >.

Reimplemented in BTK::PeptideBB< AtomType >, and BTK::PeptideHeavyAtom< AtomType >.

template<typename AtomType>
typedef value_type BTK::BuildableMonomer< AtomType >::atom_type
 

Reimplemented from BTK::Monomer< AtomType >.

Reimplemented in BTK::PeptideBB< AtomType >, and BTK::PeptideHeavyAtom< AtomType >.

template<typename AtomType>
typedef self_type BTK::BuildableMonomer< AtomType >::buildable_monomer_types
 

Reimplemented in BTK::PeptideBB< AtomType >, and BTK::PeptideHeavyAtom< AtomType >.

template<typename AtomType>
typedef const_iterator BTK::BuildableMonomer< AtomType >::const_atom_iterator
 

Reimplemented from BTK::Monomer< AtomType >.

Reimplemented in BTK::PeptideBB< AtomType >, and BTK::PeptideHeavyAtom< AtomType >.

template<typename AtomType>
typedef base_type::const_iterator BTK::BuildableMonomer< AtomType >::const_iterator
 

Reimplemented from BTK::Monomer< AtomType >.

Reimplemented in BTK::PeptideBB< AtomType >, and BTK::PeptideHeavyAtom< AtomType >.

template<typename AtomType>
typedef base_type::const_pointer BTK::BuildableMonomer< AtomType >::const_pointer
 

Reimplemented from BTK::Monomer< AtomType >.

Reimplemented in BTK::PeptideBB< AtomType >, and BTK::PeptideHeavyAtom< AtomType >.

template<typename AtomType>
typedef base_type::const_reference BTK::BuildableMonomer< AtomType >::const_reference
 

Reimplemented from BTK::Monomer< AtomType >.

Reimplemented in BTK::PeptideBB< AtomType >, and BTK::PeptideHeavyAtom< AtomType >.

typedef std::set<GROUP_VARIANT::index_t> BTK::AtomGroupConcept::group_variant_container_t [inherited]
 

:

template<typename AtomType>
typedef base_type::iterator BTK::BuildableMonomer< AtomType >::iterator
 

Reimplemented from BTK::Monomer< AtomType >.

Reimplemented in BTK::PeptideBB< AtomType >, and BTK::PeptideHeavyAtom< AtomType >.

template<typename AtomType>
typedef pattern_t::types::monomer_atom_idx_t BTK::BuildableMonomer< AtomType >::monomer_atom_idx_t
 

template<typename AtomType>
typedef base_type::pointer BTK::BuildableMonomer< AtomType >::pointer
 

Reimplemented from BTK::Monomer< AtomType >.

Reimplemented in BTK::PeptideBB< AtomType >, and BTK::PeptideHeavyAtom< AtomType >.

template<typename AtomType>
typedef base_type::reference BTK::BuildableMonomer< AtomType >::reference
 

Reimplemented from BTK::Monomer< AtomType >.

Reimplemented in BTK::PeptideBB< AtomType >, and BTK::PeptideHeavyAtom< AtomType >.

template<typename AtomType>
typedef base_type::size_type BTK::BuildableMonomer< AtomType >::size_type
 

Reimplemented from BTK::Monomer< AtomType >.

Reimplemented in BTK::PeptideBB< AtomType >, and BTK::PeptideHeavyAtom< AtomType >.

template<typename AtomType>
typedef base_type::value_type BTK::BuildableMonomer< AtomType >::value_type
 

Reimplemented from BTK::Monomer< AtomType >.

Reimplemented in BTK::PeptideBB< AtomType >, and BTK::PeptideHeavyAtom< AtomType >.


Constructor & Destructor Documentation

template<typename AtomType>
BTK::BuildableMonomer< AtomType >::BuildableMonomer const BuildableMonomerFamilyPattern family_pattern  )  [inline]
 

minimal ctor

This ctor makes it easier for derived classes to be default constructable, not expected for practicle use.

template<typename AtomType>
template<typename AtomIterator>
BTK::BuildableMonomer< AtomType >::BuildableMonomer AtomIterator  first,
AtomIterator  last,
self_type prev_monomer,
self_type next_monomer,
const AtomGroupConcept::group_variant_container_t modifiers,
const BuildableMonomerFamilyPattern family_pattern
[inline]
 

construct a monomer from an atom iterator

Parameters:
family_pattern Pattern class that contains all of the data describing how this object should be built

template<typename AtomType>
BTK::BuildableMonomer< AtomType >::BuildableMonomer const self_type source  )  [inline]
 

:

template<typename AtomType>
template<typename T2>
BTK::BuildableMonomer< AtomType >::BuildableMonomer const BuildableMonomer< T2 > &  source  )  [inline]
 


Member Function Documentation

template<typename AtomType>
const_reference BTK::AtomContainer< AtomType >::atom size_type  i  )  const [inline, inherited]
 

atom versions of std::vector function names

template<typename AtomType>
reference BTK::AtomContainer< AtomType >::atom size_type  i  )  [inline, inherited]
 

atom versions of std::vector function names

template<typename AtomType>
const_reference BTK::BuildableMonomer< AtomType >::atom ATOM::index_t  atom_index  )  const [inline]
 

Lookup an atom from this monomer.

template<typename AtomType>
reference BTK::BuildableMonomer< AtomType >::atom ATOM::index_t  atom_index  )  [inline]
 

Lookup an atom from this monomer.

template<typename AtomType>
const_reference BTK::BuildableMonomer< AtomType >::atom monomer_atom_idx_t  ma  )  const [inline]
 

Lookup an atom from this monomer or a relative monomer.

Parameters:
ma make_pair(relative monomer count,atom index type)

template<typename AtomType>
reference BTK::BuildableMonomer< AtomType >::atom monomer_atom_idx_t  ma  )  [inline]
 

Lookup an atom from this monomer or a relative monomer.

Parameters:
ma make_pair(relative monomer count,atom index type)

template<typename AtomType>
const_reference BTK::AtomContainer< AtomType >::atom_back  )  const [inline, inherited]
 

atom versions of std::vector function names

template<typename AtomType>
reference BTK::AtomContainer< AtomType >::atom_back  )  [inline, inherited]
 

atom versions of std::vector function names

template<typename AtomType>
const_atom_iterator BTK::AtomContainer< AtomType >::atom_begin  )  const [inline, inherited]
 

atom versions of std::vector function names

template<typename AtomType>
atom_iterator BTK::AtomContainer< AtomType >::atom_begin  )  [inline, inherited]
 

atom versions of std::vector function names

template<typename AtomType>
const_atom_iterator BTK::AtomContainer< AtomType >::atom_end  )  const [inline, inherited]
 

atom versions of std::vector function names

template<typename AtomType>
atom_iterator BTK::AtomContainer< AtomType >::atom_end  )  [inline, inherited]
 

atom versions of std::vector function names

template<typename AtomType>
const_reference BTK::AtomContainer< AtomType >::atom_front  )  const [inline, inherited]
 

atom versions of std::vector function names

template<typename AtomType>
reference BTK::AtomContainer< AtomType >::atom_front  )  [inline, inherited]
 

atom versions of std::vector function names

template<typename AtomType>
size_type BTK::AtomContainer< AtomType >::atom_size  )  const [inline, inherited]
 

atom versions of std::vector function names

const_reference BTK::SharedVectorBase< AtomType >::back  )  const [inline, inherited]
 

Replication of std::vector function (see std::vector documentation).

reference BTK::SharedVectorBase< AtomType >::back  )  [inline, inherited]
 

Replication of std::vector function (see std::vector documentation).

const_iterator BTK::SharedVectorBase< AtomType >::begin  )  const [inline, inherited]
 

Replication of std::vector function (see std::vector documentation).

iterator BTK::SharedVectorBase< AtomType >::begin  )  [inline, inherited]
 

Replication of std::vector function (see std::vector documentation).

template<typename AtomType>
virtual bool BTK::BuildableMonomer< AtomType >::build_atom const ATOM::index_t  atom_index,
bool  is_bootstrap
[inline, virtual]
 

attempt to build the atom indexed by atom_index

Parameters:
is_bootstrap if true, build the atom and two neighboring atoms from scratch, (assumes no other atoms are built), use this option to "bootstrap" the build procedure

Implements BTK::BuildableAtomGroupConcept.

void BTK::SharedVectorBase< AtomType >::clear  )  [inline, protected, inherited]
 

Replication of std::vector function (see std::vector documentation).

void BTK::SharedVectorBase< AtomType >::deep_copy const SharedVectorBase< T2 > &  source  )  [protected, inherited]
 

const_iterator BTK::SharedVectorBase< AtomType >::end  )  const [inline, inherited]
 

Replication of std::vector function (see std::vector documentation).

iterator BTK::SharedVectorBase< AtomType >::end  )  [inline, inherited]
 

Replication of std::vector function (see std::vector documentation).

iterator BTK::SharedVectorBase< AtomType >::erase iterator  first,
iterator  last
[inline, protected, inherited]
 

Replication of std::vector function (see std::vector documentation).

iterator BTK::SharedVectorBase< AtomType >::erase iterator  pos  )  [inline, protected, inherited]
 

Replication of std::vector function (see std::vector documentation).

template<typename AtomType>
void BTK::BuildableMonomer< AtomType >::erase_group_variant GROUP_VARIANT::index_t  v  )  [inline]
 

const_reference BTK::SharedVectorBase< AtomType >::front  )  const [inline, inherited]
 

Replication of std::vector function (see std::vector documentation).

reference BTK::SharedVectorBase< AtomType >::front  )  [inline, inherited]
 

Replication of std::vector function (see std::vector documentation).

template<typename AtomType>
virtual GROUP::index_t BTK::BuildableMonomer< AtomType >::group_index  )  const [inline, virtual]
 

Reimplemented from BTK::Monomer< AtomType >.

template<typename AtomType>
virtual char BTK::BuildableMonomer< AtomType >::group_name1  )  const [inline, virtual]
 

Reimplemented from BTK::Monomer< AtomType >.

Here is the call graph for this function:

template<typename AtomType>
virtual const std::string& BTK::BuildableMonomer< AtomType >::group_name3  )  const [inline, virtual]
 

Reimplemented from BTK::Monomer< AtomType >.

Here is the call graph for this function:

template<typename AtomType>
virtual int BTK::Monomer< AtomType >::group_num  )  const [inline, virtual, inherited]
 

Reimplemented from BTK::AtomContainer< AtomType >.

template<typename AtomType>
virtual const AtomGroupConcept::group_variant_container_t& BTK::AtomContainer< AtomType >::group_variant_codes  )  const [inline, virtual, inherited]
 

Implements BTK::AtomGroupConcept.

template<typename AtomType>
virtual const AtomGroupConcept::group_variant_container_t& BTK::BuildableMonomer< AtomType >::group_variants  )  const [inline, virtual]
 

void BTK::SharedVectorBase< AtomType >::insert iterator  pos,
InputIterator  first,
InputIterator  last
[protected, inherited]
 

Replication of std::vector function (see std::vector documentation).

void BTK::SharedVectorBase< AtomType >::insert iterator  pos,
size_type  s,
const value_type x
[protected, inherited]
 

Replication of std::vector function (see std::vector documentation).

iterator BTK::SharedVectorBase< AtomType >::insert iterator  pos,
const value_type x
[inline, protected, inherited]
 

Replication of std::vector function (see std::vector documentation).

template<typename AtomType>
void BTK::BuildableMonomer< AtomType >::insert_group_variant GROUP_VARIANT::index_t  v  )  [inline]
 

template<typename AtomType>
template<typename T2>
self_type& BTK::BuildableMonomer< AtomType >::operator= const BuildableMonomer< T2 > &  rhs  )  [inline]
 

template<typename AtomType>
self_type& BTK::BuildableMonomer< AtomType >::operator= const self_type rhs  )  [inline]
 

:

Reimplemented from BTK::AtomContainer< AtomType >.

const_reference BTK::SharedVectorBase< AtomType >::operator[] size_type  i  )  const [inline, inherited]
 

Replication of std::vector function (see std::vector documentation).

reference BTK::SharedVectorBase< AtomType >::operator[] size_type  i  )  [inline, inherited]
 

Replication of std::vector function (see std::vector documentation).

void BTK::SharedVectorBase< AtomType >::push_back const value_type x  )  [inline, protected, inherited]
 

Replication of std::vector function (see std::vector documentation).

void BTK::SharedVectorBase< AtomType >::reserve size_type  s  )  [inline, protected, inherited]
 

Replication of std::vector function (see std::vector documentation).

void BTK::SharedVectorBase< AtomType >::resize size_type  s  )  [inline, protected, inherited]
 

Replication of std::vector function (see std::vector documentation).

template<typename AtomType>
void BTK::Monomer< AtomType >::set_group_num int  x  )  [inline, inherited]
 

template<typename AtomType>
void BTK::BuildableMonomer< AtomType >::set_torsion_angle TORSION::index_t  t,
double  angle
[inline]
 

Here is the call graph for this function:

void BTK::SharedVectorBase< AtomType >::shallow_copy const self_type source  )  [protected, inherited]
 

void BTK::SharedVectorBase< AtomType >::shallow_insert iterator  pos,
const_iterator  first,
const_iterator  last
[inline, protected, inherited]
 

void BTK::SharedVectorBase< AtomType >::shallow_push_back value_type x  )  [inline, protected, inherited]
 

size_type BTK::SharedVectorBase< AtomType >::size  )  const [inline, inherited]
 

Replication of std::vector function (see std::vector documentation).

template<typename AtomType>
double BTK::BuildableMonomer< AtomType >::torsion_angle TORSION::index_t  t  )  const [inline]
 

:

Here is the call graph for this function:


The documentation for this class was generated from the following file:
Generated on Wed Apr 14 00:43:20 2004 for BTK by doxygen 1.3.6