00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef BALL_KERNEL_EXTRACTORS_H
00011 #define BALL_KERNEL_EXTRACTORS_H
00012
00013 #ifndef BALL_COMMON_H
00014 # include <BALL/common.h>
00015 #endif
00016
00017 #ifndef BALL_DATATYPE_STRING_H
00018 # include <BALL/DATATYPE/string.h>
00019 #endif
00020
00021 namespace BALL
00022 {
00023
00024 class Atom;
00025 class PDBAtom;
00026 class Bond;
00027 class AtomContainer;
00028 class Fragment;
00029 class Molecule;
00030 class Residue;
00031 class SecondaryStructure;
00032 class Chain;
00033 class Protein;
00034 class Nucleotide;
00035 class NucleicAcid;
00036
00050
00051 typedef std::list<Atom*> AtomList;
00053 typedef std::list<Bond*> BondList;
00055 typedef std::list<AtomContainer*> AtomContainerList;
00057 typedef std::list<PDBAtom*> PDBAtomList;
00059 typedef std::list<Residue*> ResidueList;
00061 typedef std::list<Fragment*> FragmentList;
00063 typedef std::list<Molecule*> MoleculeList;
00065 typedef std::list<Protein*> ProteinList;
00067 typedef std::list<SecondaryStructure*> SecondaryStructureList;
00069 typedef std::list<Chain*> ChainList;
00071 typedef std::list<Nucleotide*> NucleotideList;
00073 typedef std::list<NucleicAcid*> NucleicAcidList;
00074
00076
00084
00092 BALL_EXPORT AtomList atoms(const AtomContainer& fragment, const String& expression = String());
00093
00100 BALL_EXPORT AtomList atoms(const AtomList& atoms, const String& expression);
00101
00109 BALL_EXPORT PDBAtomList PDBAtoms(const AtomContainer& fragment, const String& expression = String());
00110
00116 BALL_EXPORT BondList bonds(const AtomContainer& fragment, bool selected_only = false);
00117
00121 BALL_EXPORT BondList bonds(const Atom& atom);
00122
00125 BALL_EXPORT AtomContainerList atomContainers(const AtomContainer& fragment, bool selected_only = false);
00126
00129 BALL_EXPORT ResidueList residues(const AtomContainer& fragment, bool selected_only = false);
00130
00133 BALL_EXPORT FragmentList fragments(const AtomContainer& fragment, bool selected_only = false);
00134
00137 BALL_EXPORT MoleculeList molecules(const AtomContainer& fragment, bool selected_only = false);
00138
00141 BALL_EXPORT ProteinList proteins(const AtomContainer& fragment, bool selected_only = false);
00142
00145 BALL_EXPORT SecondaryStructureList secondaryStructures(const AtomContainer& fragment, bool selected_only = false);
00146
00149 BALL_EXPORT ChainList chains(const AtomContainer& fragment, bool selected_only = false);
00150
00153 BALL_EXPORT NucleicAcidList nucleicAcids(const AtomContainer& fragment, bool selected_only = false);
00154
00157 BALL_EXPORT NucleotideList nucleotides(const AtomContainer& fragment, bool selected_only = false);
00158
00160
00161 }
00162
00163 #endif // BALL_KERNEL_EXTRACTORS_H