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

FragmentDB Class Reference
[Miscellaneous]

FragmentDB - fragment database class. More...

#include <fragmentDB.h>

List of all members.

Public Types

Type Definitions
typedef short Type
 Type definition for the fragment type.
typedef StringHashMap< StringNameMap
 A hash map used to convert one atom naming convention to another.
Enums
enum  FragmentTypes { TYPE__UNKNOWN = -1, TYPE__FRAGMENT, TYPE__RESIDUE, TYPE__MOLECULE }
 Fragment types.

Public Member Functions

Constructors and destructors
 FragmentDB ()
 Creates a default but invalid FragmentDB instance.
 FragmentDB (const String &filename) throw (Exception::FileNotFound)
 Creates a FragmentDB object and reads the contents of filename.
 FragmentDB (const FragmentDB &db, bool deep=true)
 Copy constructor.
FragmentDBoperator= (const FragmentDB &db) throw ()
 Assignment operator.
virtual ~FragmentDB ()
 Destructor.
void destroy ()
Database Setup
void init () throw (Exception::FileNotFound, NoFragmentNode)
 Initialization of the database.
Inspectors and mutators
void setFilename (const String &filename) throw (Exception::FileNotFound)
 Assigns a filename.
const StringgetFilename () const
 Get the filename.
bool has (const String &fragment_name) const
 Checks whether a specified fragment is known to the fragment database.
const std::vector< Residue * > & getFragments ()
FragmentDB::Type getFragmentType (const String &fragment_name) const
 Return a fragment.
list< StringgetVariantNames (const String &name) const
 Return a list containing all variant names.
const FragmentgetFragment (const String &fragment_name) const
 Return a fragment.
const FragmentgetReferenceFragment (const Fragment &fragment) const
 Return a reference fragment.
const ResiduegetResidue (const String &fragment_name) const
 Return a residue.
FragmentgetFragmentCopy (const String &fragment_name) const
 Return a copy of a fragment.
MoleculegetMoleculeCopy (const String &fragment_name) const
 Return a copy of a fragment as a molecule.
ResiduegetResidueCopy (const String &fragment_name) const
 Return a copy of a residue.
const StringgetDefaultNamingStandard () const
 Return the default naming standard.
StringHashMap< NameMap > & getNamingStandards ()
 Return a hash map containing all naming maps.
Debugging and diagnostics
bool isValid () const

Public Attributes

Public Variables
NormalizeNamesProcessor normalize_names
 The standard name normalization processor.
ReconstructFragmentProcessor add_hydrogens
 The standard hydrogen adder.
BuildBondsProcessor build_bonds
 The standard bond builder.
ResourceEntrytree
 The resource tree read from the database file.

Friends

class FragmentDB::AddHydrogensProcessor


Detailed Description

FragmentDB - fragment database class.

The fragment database is used to store commonly used subunits as amino acids, sugars and the like. They are entered in a special format described below. The main resource file resides under data/fragments/Fragments.db.


Constructor & Destructor Documentation

FragmentDB::FragmentDB  ) 
 

Creates a default but invalid FragmentDB instance.

FragmentDB::FragmentDB const String filename  )  throw (Exception::FileNotFound)
 

Creates a FragmentDB object and reads the contents of filename.

If filename is an empty string, the default value "fragments/Fragments.db" is used.

Exceptions:
Exception::FileNotFound if the file is not found in the BALL_DATA_PATH

FragmentDB::FragmentDB const FragmentDB db,
bool  deep = true
 

Copy constructor.

virtual FragmentDB::~FragmentDB  )  [virtual]
 

Destructor.


Member Function Documentation

const String& FragmentDB::getFilename  )  const
 

Get the filename.

const Fragment* FragmentDB::getFragment const String fragment_name  )  const
 

Return a fragment.

Fragment* FragmentDB::getFragmentCopy const String fragment_name  )  const
 

Return a copy of a fragment.

If a fragment with name fragment_name exists in the fragment database, a copy is created and returned. Otherwise, a null pointer is returned. Take care to destruct the copy again to avoid memory leaks.

Returns:
a pointer to the copied fragment or 0
Parameters:
fragent_name the name of the fragment in the database

FragmentDB::Type FragmentDB::getFragmentType const String fragment_name  )  const
 

Return a fragment.

Molecule* FragmentDB::getMoleculeCopy const String fragment_name  )  const
 

Return a copy of a fragment as a molecule.

If a fragment with name fragment_name exists in the fragment database, a copy is created, inserted into a new molecule, and returned. Otherwise, a null pointer is returned. Take care to destruct the copy again to avoid memory leaks.

Returns:
a pointer to the copied fragment or 0
Parameters:
fragent_name the name of the fragment in the database

StringHashMap<NameMap>& FragmentDB::getNamingStandards  ) 
 

Return a hash map containing all naming maps.

const Fragment* FragmentDB::getReferenceFragment const Fragment fragment  )  const
 

Return a reference fragment.

This method returns a standard template of a given fragment or a NULL pointer if the fragment is not known. The first criterion is the fragment name. If there exist multiple variants of the fragment, the correct variant is chosen according to the properties set in fragment.

const Residue* FragmentDB::getResidue const String fragment_name  )  const
 

Return a residue.

Residue* FragmentDB::getResidueCopy const String fragment_name  )  const
 

Return a copy of a residue.

If a fragment with name fragment_name exists in the fragment database, a copy is created and returned as a residue. Otherwise, a null pointer is returned. Take care to destruct the copy again to avoid memory leaks.

Returns:
a pointer to the copied fragment or 0
Parameters:
fragent_name the name of the fragment in the database

list<String> FragmentDB::getVariantNames const String name  )  const
 

Return a list containing all variant names.

bool FragmentDB::has const String fragment_name  )  const
 

Checks whether a specified fragment is known to the fragment database.

void FragmentDB::init  )  throw (Exception::FileNotFound, NoFragmentNode)
 

Initialization of the database.

void FragmentDB::setFilename const String filename  )  throw (Exception::FileNotFound)
 

Assigns a filename.