Loading...
Searching...
No Matches
nucleicAcid.h
Go to the documentation of this file.
// -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//
#ifndef BALL_KERNEL_NUCLEICACID_H
#define BALL_KERNEL_NUCLEICACID_H
#ifndef BALL_KERNEL_MOLECULE_H
# include <BALL/KERNEL/molecule.h>
#endif
#ifndef BALL_KERNEL_NUCLEOTIDE_H
# include <BALL/KERNEL/nucleotide.h>
#endif
#define BALL_NUCLEICACID_DEFAULT_ID ""
namespace BALL
{
class BALL_EXPORT NucleicAcid
: public Molecule
{
public:
BALL_CREATE_DEEP(NucleicAcid)
enum Property
{
NUMBER_OF_PROPERTIES = Molecule::NUMBER_OF_PROPERTIES
};
NucleicAcid();
NucleicAcid(const NucleicAcid& nucleic_acid, bool deep = true);
NucleicAcid(const String& name,
const String& id = BALL_NUCLEICACID_DEFAULT_ID);
virtual ~NucleicAcid();
virtual void clear();
virtual void destroy();
void persistentWrite(PersistenceManager& pm, const char* name = 0) const;
void persistentRead(PersistenceManager& pm);
void set(const NucleicAcid& nucleic_acid, bool deep = true);
NucleicAcid& operator = (const NucleicAcid& nucleic_acid);
void get(NucleicAcid& nucleic_acid, bool deep = true) const;
void swap(NucleicAcid& nucleic_acid);
bool operator == (const NucleicAcid& nucleic_acid) const;
bool operator != (const NucleicAcid& nucleic_acid) const;
Nucleotide* getNucleotide(Position position);
const Nucleotide* getNucleotide(Position position) const;
Nucleotide* get3Prime();
const Nucleotide* get3Prime() const;
Nucleotide* get5Prime();
const Nucleotide* get5Prime() const;
void setID(const String& id);
const String& getID() const;
Size countNucleotides() 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 isValid() const;
virtual void dump(std::ostream& s = std::cout, Size depth = 0) const;
// --- EXTERNAL ITERATORS
BALL_KERNEL_DEFINE_ITERATOR_CREATORS(Nucleotide)
BALL_DECLARE_STD_ITERATOR_WRAPPER(NucleicAcid, Nucleotide, nucleotides)
private:
// --- ATTRIBUTES
String id_;
};
} // namespace BALL
#endif // BALL_KERNEL_NUCLEICACID_H
BALL_EXPORT
#define BALL_EXPORT
Definition COMMON/global.h:50
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::NucleicAcid::destroy
virtual void destroy()
BALL::NucleicAcid::clear
virtual void clear()
BALL::NucleicAcid::get5Prime
const Nucleotide * get5Prime() const
BALL::NucleicAcid::setID
void setID(const String &id)
BALL::NucleicAcid::set
void set(const NucleicAcid &nucleic_acid, bool deep=true)
BALL::NucleicAcid::Property
Property
Definition nucleicAcid.h:41
BALL::NucleicAcid::NUMBER_OF_PROPERTIES
@ NUMBER_OF_PROPERTIES
Definition nucleicAcid.h:42
BALL::NucleicAcid::NucleicAcid
NucleicAcid(const NucleicAcid &nucleic_acid, bool deep=true)
BALL::NucleicAcid::isValid
virtual bool isValid() const
BALL::NucleicAcid::~NucleicAcid
virtual ~NucleicAcid()
BALL::NucleicAcid::NucleicAcid
NucleicAcid(const String &name, const String &id=BALL_NUCLEICACID_DEFAULT_ID)
BALL::NucleicAcid::dump
virtual void dump(std::ostream &s=std::cout, Size depth=0) const
BALL::NucleicAcid::get
void get(NucleicAcid &nucleic_acid, bool deep=true) const
BALL::NucleicAcid::swap
void swap(NucleicAcid &nucleic_acid)
BALL::NucleicAcid::get3Prime
Nucleotide * get3Prime()
BALL::NucleicAcid::NucleicAcid
NucleicAcid()
BALL::NucleicAcid::countNucleotides
Size countNucleotides() const
BALL::NucleicAcid::getID
const String & getID() const
BALL::NucleicAcid::persistentRead
void persistentRead(PersistenceManager &pm)
BALL::NucleicAcid::persistentWrite
void persistentWrite(PersistenceManager &pm, const char *name=0) const
BALL::NucleicAcid::getNucleotide
Nucleotide * getNucleotide(Position position)
BALL::NucleicAcid::get3Prime
const Nucleotide * get3Prime() const
BALL::NucleicAcid::getNucleotide
const Nucleotide * getNucleotide(Position position) const
BALL::NucleicAcid::get5Prime
Nucleotide * get5Prime()
BALL::Nucleotide
Definition nucleotide.h:37
BALL::PersistenceManager
Definition persistenceManager.h:73
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::nucleotides
BALL_EXPORT NucleotideList nucleotides(const AtomContainer &fragment, bool selected_only=false)
BALL_NUCLEICACID_DEFAULT_ID
#define BALL_NUCLEICACID_DEFAULT_ID
Definition nucleicAcid.h:16
nucleotide.h
BALL_DECLARE_STD_ITERATOR_WRAPPER
#define BALL_DECLARE_STD_ITERATOR_WRAPPER(container, type, method_name)
Definition stdIteratorWrapper.h:30