5 #ifndef BALL_KERNEL_CHAIN_H
6 #define BALL_KERNEL_CHAIN_H
8 #ifndef BALL_KERNEL_RESIDUE_H
12 #ifndef BALL_KERNEL_SECONDARYSTRUCTUREITERATOR_H
17 #define BALL_CHAIN_DEFAULT_NAME ' '
90 void set(
const Chain& chain,
bool deep =
true);
105 void get(
Chain& chain,
bool deep =
true)
const;
110 void swap(
Chain& chain);
140 const Protein* getProtein()
const;
217 Size countSecondaryStructures()
const;
222 Size countResidues()
const;
227 Size countPDBAtoms()
const;
264 void prepend(
Residue& residue);
296 void spliceBefore(
Chain& chain);
301 void spliceAfter(
Chain &chain);
306 void splice(
Chain &chain);
312 virtual bool isChain()
const {
return true; }
326 virtual void dump(std::ostream& s = std::cout,
Size depth = 0)
const
344 AtomContainer* getAtomContainer(
Position position);
346 const AtomContainer* getAtomContainer(
Position position)
const;
352 void prepend(
Atom& atom);
354 void append(
Atom& atom);
356 void insert(
Atom& atom);
358 void insertBefore(
Atom& atom, Composite& before);
360 void insertAfter(
Atom& atom, Composite& after);
362 bool remove(
Atom& atom);
364 void prepend(AtomContainer& atom_container);
366 void append(AtomContainer& atom_container);
368 void insert(AtomContainer& atom_container);
370 void insertBefore(AtomContainer& atom_container, Composite& before);
372 void insertAfter(AtomContainer& atom_container, Composite& after);
374 void spliceBefore(AtomContainer& atom_container);
376 void spliceAfter(AtomContainer& atom_container);
378 void splice(AtomContainer& atom_container);
380 bool remove(AtomContainer& atom_container);
387 #endif // BALL_KERNEL_CHAIN_H