Loading...
Searching...
No Matches
protein.h
Go to the documentation of this file.
// -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//
#ifndef BALL_KERNEL_PROTEIN_H
#define BALL_KERNEL_PROTEIN_H
#ifndef BALL_KERNEL_CHAINITERATOR_H
# include <BALL/KERNEL/chainIterator.h>
#endif
#ifndef BALL_KERNEL_MOLECULE_H
# include <BALL/KERNEL/molecule.h>
#endif
#define BALL_PROTEIN_DEFAULT_ID ""
namespace BALL
{
class BALL_EXPORT Protein
: public Molecule
{
public:
BALL_CREATE_DEEP(Protein)
enum Property
{
NUMBER_OF_PROPERTIES = Molecule::NUMBER_OF_PROPERTIES
};
Protein();
Protein(const Protein& protein, bool deep = true);
Protein(const String& name, const String& id = BALL_PROTEIN_DEFAULT_ID);
virtual ~Protein();
virtual void clear();
/* Clears the contents of the protein and removes it from all composite structures.
*/
virtual void destroy();
void persistentWrite(PersistenceManager& pm, const char* name = 0) const;
void persistentRead(PersistenceManager& pm);
void set(const Protein& protein, bool deep = true);
Protein& operator = (const Protein& protein);
void get(Protein& protein, bool deep = true) const;
void swap(Protein& protein);
bool operator == (const Protein& protein) const;
bool operator != (const Protein& protein) const;
Chain* getChain(Position position);
const Chain* getChain(Position position) const;
SecondaryStructure* getSecondaryStructure(Position position);
const SecondaryStructure* getSecondaryStructure(Position position) const;
Residue* getResidue(Position position);
const Residue* getResidue(Position position) const;
Residue* getResidueByID(String residue_ID);
const Residue* getResidueByID(String residue_ID) const;
Residue* getNTerminal();
const Residue* getNTerminal() const;
Residue* getCTerminal();
const Residue* getCTerminal() const;
PDBAtom* getPDBAtom(Position position);
const PDBAtom* getPDBAtom(Position position) const;
void setID(const String& id);
const String& getID() const;
Size countChains() const;
Size countSecondaryStructures() const;
Size countResidues() const;
Size countPDBAtoms() const;
using Molecule::prepend;
using Molecule::append;
using Molecule::insert;
using Molecule::insertBefore;
using Molecule::insertAfter;
using Molecule::remove;
using Molecule::splice;
using Molecule::spliceBefore;
using Molecule::spliceAfter;
virtual bool isProtein() const { return true; }
virtual bool isValid() const;
virtual void dump(std::ostream& s = std::cout, Size depth = 0) const;
// --- EXTERNAL ITERATORS
BALL_KERNEL_DEFINE_ITERATOR_CREATORS(Chain)
BALL_KERNEL_DEFINE_ITERATOR_CREATORS(SecondaryStructure)
BALL_KERNEL_DEFINE_ITERATOR_CREATORS(Residue)
BALL_KERNEL_DEFINE_ITERATOR_CREATORS(PDBAtom)
BALL_DECLARE_STD_ITERATOR_WRAPPER(Protein, Chain, chains)
BALL_DECLARE_STD_ITERATOR_WRAPPER(Protein, SecondaryStructure, secondaryStructures)
BALL_DECLARE_STD_ITERATOR_WRAPPER(Protein, Residue, residues)
BALL_DECLARE_STD_ITERATOR_WRAPPER(Protein, PDBAtom, pdbAtoms)
private:
// --- ATTRIBUTES
String id_;
};
} // namespace BALL
#endif // BALL_KERNEL_PROTEIN_H
BALL_EXPORT
#define BALL_EXPORT
Definition COMMON/global.h:50
chainIterator.h
BALL::Chain
Definition chain.h:32
BALL::Molecule::Molecule
Molecule()
BALL::Molecule::remove
bool remove(Atom &atom)
BALL::Molecule::splice
void splice(AtomContainer &atom_container)
BALL::Molecule::prepend
void prepend(Atom &atom)
BALL::Molecule::insert
void insert(Atom &atom)
BALL::Molecule::append
void append(Atom &atom)
BALL::Molecule::insertBefore
void insertBefore(Atom &atom, Composite &before)
BALL::Molecule::spliceBefore
void spliceBefore(AtomContainer &atom_container)
BALL::Molecule::insertAfter
void insertAfter(Atom &atom, Composite &after)
BALL::Molecule::spliceAfter
void spliceAfter(AtomContainer &atom_container)
BALL::Molecule::NUMBER_OF_PROPERTIES
@ NUMBER_OF_PROPERTIES
Definition molecule.h:45
BALL::PDBAtom
Definition PDBAtom.h:40
BALL::PersistenceManager
Definition persistenceManager.h:73
BALL::Protein::set
void set(const Protein &protein, bool deep=true)
BALL::Protein::isValid
virtual bool isValid() const
BALL::Protein::dump
virtual void dump(std::ostream &s=std::cout, Size depth=0) const
BALL::Protein::getSecondaryStructure
SecondaryStructure * getSecondaryStructure(Position position)
BALL::Protein::persistentWrite
void persistentWrite(PersistenceManager &pm, const char *name=0) const
BALL::Protein::getCTerminal
const Residue * getCTerminal() const
BALL::Protein::getResidueByID
const Residue * getResidueByID(String residue_ID) const
BALL::Protein::Protein
Protein(const Protein &protein, bool deep=true)
Copy constructor.
BALL::Protein::countSecondaryStructures
Size countSecondaryStructures() const
BALL::Protein::getCTerminal
Residue * getCTerminal()
BALL::Protein::getResidue
const Residue * getResidue(Position position) const
BALL::Protein::getChain
const Chain * getChain(Position position) const
BALL::Protein::Property
Property
Definition protein.h:42
BALL::Protein::NUMBER_OF_PROPERTIES
@ NUMBER_OF_PROPERTIES
Definition protein.h:43
BALL::Protein::clear
virtual void clear()
Clears the contents of the protein.
BALL::Protein::Protein
Protein()
Default constructor.
BALL::Protein::Protein
Protein(const String &name, const String &id=BALL_PROTEIN_DEFAULT_ID)
Detailled constructor.
BALL::Protein::swap
void swap(Protein &protein)
BALL::Protein::countChains
Size countChains() const
BALL::Protein::getPDBAtom
const PDBAtom * getPDBAtom(Position position) const
BALL::Protein::~Protein
virtual ~Protein()
Destructor.
BALL::Protein::setID
void setID(const String &id)
BALL::Protein::getID
const String & getID() const
BALL::Protein::getChain
Chain * getChain(Position position)
BALL::Protein::get
void get(Protein &protein, bool deep=true) const
BALL::Protein::getNTerminal
Residue * getNTerminal()
BALL::Protein::getResidueByID
Residue * getResidueByID(String residue_ID)
BALL::Protein::isProtein
virtual bool isProtein() const
Definition protein.h:274
BALL::Protein::getSecondaryStructure
const SecondaryStructure * getSecondaryStructure(Position position) const
BALL::Protein::persistentRead
void persistentRead(PersistenceManager &pm)
BALL::Protein::getResidue
Residue * getResidue(Position position)
BALL::Protein::countResidues
Size countResidues() const
BALL::Protein::countPDBAtoms
Size countPDBAtoms() const
BALL::Protein::getPDBAtom
PDBAtom * getPDBAtom(Position position)
BALL::Protein::getNTerminal
const Residue * getNTerminal() const
BALL::Protein::destroy
virtual void destroy()
BALL::Residue
Definition residue.h:38
BALL::SecondaryStructure
Definition secondaryStructure.h:31
BALL::String
Definition string.h:57
BALL_CREATE_DEEP
#define BALL_CREATE_DEEP(name)
Definition create.h:26
BALL_KERNEL_DEFINE_ITERATOR_CREATORS
#define BALL_KERNEL_DEFINE_ITERATOR_CREATORS(Type)
Definition iterator.h:25
molecule.h
BALL
Definition constants.h:13
BALL::Size
BALL_SIZE_TYPE Size
Definition COMMON/global.h:114
BALL::Position
BALL_SIZE_TYPE Position
Definition COMMON/global.h:140
BALL::secondaryStructures
BALL_EXPORT SecondaryStructureList secondaryStructures(const AtomContainer &fragment, bool selected_only=false)
BALL::chains
BALL_EXPORT ChainList chains(const AtomContainer &fragment, bool selected_only=false)
BALL::residues
BALL_EXPORT ResidueList residues(const AtomContainer &fragment, bool selected_only=false)
BALL_PROTEIN_DEFAULT_ID
#define BALL_PROTEIN_DEFAULT_ID
Definition protein.h:16
BALL_DECLARE_STD_ITERATOR_WRAPPER
#define BALL_DECLARE_STD_ITERATOR_WRAPPER(container, type, method_name)
Definition stdIteratorWrapper.h:30